Hello Cup, Apache Ignite source code is hard to grasp indeed and unfortunately there is no detailed explanation for each and every class in its codebase.
Some components of Ignite 2.x codebase are covered in wiki pages though: take a look at persistent store overview <https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview> and more detailed under the hood <https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Persistent+Store+-+under+the+hood> description. More general description of multi-tiered storage <https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Multi-Tier+Storage+-+under+the+hood> is also available. There is also a page dedicated to the main discovery component: Tcp Discovery under the hood <https://cwiki.apache.org/confluence/display/IGNITE/TCP+Discovery+SPI+under+the+hood>. Look around there, there are some other useful pages too. At the same time some pages there are out-of-date and aren't relevant anymore. Community will clean them up at some point. But in my opinion the best way to build your understanding of how Ignite works is to use tests. Take a look at suite classes in org.apache.ignite.testsuites package, they group individual tests more or less by component or feature. Set the project up in your favorite IDE and start debugging the code - this way you'll understand how the whole thing works much faster than reading tons of documentation or wiki pages. There is also an Ignite 3.x project, and it's important to understand that it is a completely new codebase with very little shared code. One cannot easily transfer their knowledge from one codebase to another. Unfortunately I cannot point you to documentation of that project, maybe other community members will. -- Thank you, Sergey. On Tue, Aug 19, 2025 at 6:13 AM ddd_ot <ddd...@163.com> wrote: > Hello! > > I am a junior programmer new to Java and Ignite, and currently I am > working on some projects where Ignite 2.16 is adopted. I have implemented > some toy demos and hope to further explore Ignite from top to bottom. > > Recently I started to get down to read the source code of Ignite 2.16 but > I encountered a lot of problems while reading the code. When I dig into > some of the inheritance chains in the core of Ignite I found it hard to > tell the function and design of each class merely from the code, so I was > wondering if there is any demonstration or illustration to the top-level > structure design of Ignite to help me better understand the code (e.g. I > found Grid a high frequency keyword in the code but I failed to find the > meaning of the Grid or the design behind it). On the other hand, I searched > the official doc and API of Ignite but I can't find the description for > some specific classes. Is there any websites or references that could > provide the detailed description of the implementation for every class in > Ignite's source code so I can understand the bottom-level implementation of > Ignite better? Or could you please offer me some advice or suggestions on > reading the source code and get a deeper understanding of Ignite itself? > > I am not a native English speaker so please forgive me for my poor English > expression, but I truly appreciate any guidance you can provide! Thank you > for your time and patience reading my email. > > Sincerely, > Cup > August 19, 2025 > > > >