áá±áá±á«áºáá«áá® áá áááºáá±á·ááœááºá áá»áœááºá¯ááºááá¯á·ááẠApache Ignite GreenSource á¡á
ááºážá¡áá±ážááᯠáá»ááºážááá²á·ááŒá®ážá open source ááá±á¬áá»ááºá¡ááœáẠáá¶á·ááá¯ážáá°áá®áá°áá»á¬ážá០á
áá¬ážááŒá±á¬ááá¯áá²á·áááºá
Apache Ignite á áá±áá°áá»á¡á¬ážááŒáá·áº á
áááºááŒáá«á
áá¯á·á áááºážááẠSQLá á¡áá±á¬ááºážá¡áááºáá¯ááºáá±á¬ááºááŸá¯ááŸáá·áº áááºááŸáºá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŒáá·áº ááŒáá·áºáá±áá¬ážáá±á¬ Key/Value ááá¯ááŸá±á¬ááºááŸá¯áá
áºáá¯ááŒá
áºáááºá ááá¯á·á¡ááŒááºá Ignite ááẠááá·áºá¡á¬áž á
áááºááŒáá¯ááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠIgnite á¡á
á¯á¡áá±ážáá
áºáá¯ááá¯á· ááá¯ááºááá¯ááºá¡áá¯á¶ážáá»ááá¯ááºá
á±áá«áááºá áá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠIgnite áá¶á·ááá¯ážáá±ážááá·áº áááááá¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯á¶ážá
áœá²ááá¯ááºááẠ- ááŒáá·áºáá±áá¬ážáá±á¬ áá±áá¬ááœá²á·á
ááºážáá¯á¶áá»á¬ážá á
á¬ááá¯áá±ážááá¯á·ááŒááºážá ááœáŸáá·áºáá¯ááºááŒááºážá ááœááºáá»ááºááŒááºážááŸáá·áº áá±áá¬ááá¬ážááœááºáá»á¬ážá á¥ááá¬á¡á¬ážááŒáá·áºá Data Grid ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á áá±áá¬ááá¯ááŸá±á¬ááºááŸá¯á¡ááœáẠáá®ážááŒá¬ážá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá
áºáá¯ááᯠá
á®áá¶ááá·áºááœá²ááŒááºážááá¯ááºáá¬ááŒá¿áá¬ááŒá
áºááŒá®áž á¡áá»áá¯ážáááºá¡áá±ááŒáá·áº ááááºá¡áá±ááŒáá·áº áá¯ááºáá»á
ááááºáá»á¬áž áá»á±á¬ááºááœá¬ážáá«áááºá
Service Grid API ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠááŒáá·áºáá»ááºááŸá¯á¡á
á®á¡á
ááºááᯠáááºááŸááºáá±ážáá¯á¶ááŒáá·áº áááºáá±á¬ááºááŸá¯áá
áºáá¯á¡á¬áž á¡áá¯á¶ážáá»ááá¯ááºááŒá®ážá áááºážááŸáá·áºáá»á±á¬áºáá®áá±á¬ configuration á¡ááœááºážááŸá áááºáá±á¬ááºááŸá¯ááᯠáááºážááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá ááŒáá·áºáá»ááºááŸá¯á¡á á®á¡á ááºááẠá¡á á¯á¡áá±ážáá»á¬ážáá±á«áºááœáẠá¡áá¯á¶ážááŒá¯ááá·áºááá·áº ááŒá áºáááºá¡áá±á¡ááœááºááᯠááœáŸááºááŒáá±áááºá áá¯á¶ááŸáẠááŒáá·áºáá»ááºááŸá¯ á¡á á®á¡á á¥áº ááŸá áºáᯠááŸááááºá áááá¡áá»ááºááŸá¬ Cluster Singleton ááŒá áºáááº- áááºááá·áºá¡áá»áááºááœááºáááᯠáá¯á¶ážá áœá²áá°áááºáá±á¬ááºááŸá¯áá áºáá¯á á¥ááá¬áá áºáá¯ááẠá¡á á¯á¡áá±ážááœááºáááŸáááá¯ááºáááºáᯠá¡á¬ááá¶áá«áááºá áá¯áááááŸá¬ Node Singleton ááŒá áºáááº- áááºáá±á¬ááºááŸá¯á á¥ááá¬áá áºáá¯ááẠcluster node áá áºáá¯á á®ááœáẠááŒáá·áºáá»ááºáá¬ážáááºá
á¡áá¯á¶ážááŒá¯áá°ááẠá¡á
á¯á¡áá±ážáá
áºáá¯áá¯á¶ážááŸá áááºáá±á¬ááºááŸá¯ááŒá
áºáááºáá»á¬áž á¡áá±á¡ááœááºááá¯áááºáž áááºááŸááºááá¯ááºááŒá®áž ááá·áºáá»á±á¬áºáá±á¬ node áá»á¬ážááᯠá
á
áºáá¯ááºáááºá¡ááœáẠpredicate áá
áºáá¯ááᯠáááºááŸááºááá¯ááºáááºá á€á¡ááŒá±á¡áá±ááœááºá Service Grid ááá¯ááºááá¯ááºá áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááŒáá·áºáá»ááºááŒááºážá¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒáá·áºááŒá°ážááŸá¯ááᯠááœááºáá»ááºáá±ážáááºááŒá
áºáááºá
ááá¯á·á¡ááŒááºá Affinity Service áá²á·ááá¯á·áá±á¬á¡ááºá¹áá«áááºáá áºáá¯ááŸááááºá Affinity ááẠpartitions áá»á¬ážáá®ááá¯á· keys áá»á¬ážá áááºááœááºááŸá¯ááŸáá·áº topology ááŸá node áá»á¬áž ááŸáá·áº party áá»á¬ážá áááºá ááºááŸá¯ááᯠáááºááŸááºáá±ážááá·áº function áá áºáá¯ááŒá áºáááºá áá±á¬á·ááá¯á¡áá¯á¶ážááŒá¯á áá±áá¬ááááºážáááºážáá¬ážááá·áº á¡ááá node ááᯠáááºáá¯á¶ážááŒááºááá¯ááºáááºá á€áááºážááŒáá·áº áááºááẠáááºáááá¯ááºááá¯ááºáááºáá±á¬ááºááŸá¯ááᯠáá±á¬á·ááŸáá·áºáááºážááŸá®ážááŸá¯ááá¯ááºáá¬áá¯ááºáá±á¬ááºáá»áẠcache áá áºáá¯ááŸáá·áº áá»áááºáááºááá¯ááºáááºá áááºážááŸá®ážááŸá¯ áá¯ááºáá±á¬ááºáá»áẠááŒá±á¬ááºážáá²áá«á á¡ááá¯á¡áá»á±á¬áẠááŒááºááẠá¡áá¯á¶ážáá»ááŸá¯ ááŒá áºáá±á«áºáá¬áá«áááºá á€áááºážá¡á¬ážááŒáá·áºá áááºáá±á¬ááºááŸá¯ááẠáááºážá¡á¬áž ááá¯ááºááœááºááẠááá¯á¡ááºááá·áº áá±áá¬á¡áá®ážááœáẠá¡ááŒá²áááºááŸááááºááŒá áºááŒá®ážá ááá¯á·ááŒá±á¬áá·áº ááááºážá¡áá»ááºá¡áááºááá°ááŒááºážá á¡áá»á¯á¶ážáááºááŸá¯ááᯠáá»áŸá±á¬á·áá»áááºááŒá áºáááºá á€á¡á á®á¡á á¥áºááᯠá á¯áá±á«ááºážááœááºáá»ááºááŒááºážáá áºáá»áá¯ážáᯠáá±á«áºááá¯ááºáááºá
ááá¯áá»áœááºá¯ááºááá¯á·ááẠService Grid áá¡ááŸááá¯ááŸá¬ááœá±ááœá±á·ááŸááá¬áá±á¬ááŒá±á¬áá·áºáááºážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááá¯ááºážááŒá±á¬ááºážááá¯ááŒá±á¬ááá¯ááŒáá«á áá¯á·á
á¡áááºá áá¬ááœá±ááŒá áºáá²á·áá²á
Service Grid áááááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠIgnite áááœá±áá±ážááœá±áá°áá¯á¶áá°áá¬ážáá±á¬á áá Ạcache ááá¯á¡ááŒá±áá¶áá¬ážáááºá Ignite ááœáẠ"cache" áá°áá±á¬ á áá¬ážáá¯á¶ážááẠááá¯ááŸá±á¬ááºááŸá¯ááᯠáááºááœáŸááºážáááºá ááá¯ááá¯áááºááŸá¬á á€á¡áá¬ááẠáááºáááºáá¬ážááá·áºá¡ááá¯ááºáž áá¬áá®ááá¯ááºáá«á áááºááŸáºááᯠáá¯á¶áá°áá°ážáá¬ážááŒá®áž node áá áºáá¯á á®ááœáẠdata set áá áºáá¯áá¯á¶ážáá«áá±áá±á¬áºáááºážá cache á¡ááœááºážááœáẠpartitioned ááá¯ááºá á¬ážááŒá¯ááŸá¯áá áºáá¯áá«ááŸááááºá áááºážááẠááá¯ááŸá±á¬ááºááŸá¯ ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºááŒááºážááŒá±á¬áá·áº ááŒá áºáááºá
áá¯á¶ážá
áœá²áá°á áááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážáá»ááá¯áá²á·á¡áá« áá¬ááŒá
áºááœá¬ážáá¬áá²á
- áááºáááºáá¬ážáá±á¬ áááºááá¯ááºáá±ážááŒááºážááŸá¯ ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááŸá±á¬ááºááŸá¯á¡ááœááºáž áá±áá¬ááᯠá¡ááºááááºáá¯ááºááẠá¡á á¯á¡áá±ážááŸá node áá»á¬ážá¡á¬ážáá¯á¶áž á á¬áááºážááœááºážáá¬ážáááºá
- áááºááŸá¯ááŒá®áž áááááŒá¯áá¬ážáá±á¬ á¡áá±á¬ááºážá¡áááºáá áºáá¯á¡á±á¬ááºááœáẠá áááºáá¯ááºáá±á¬ááºááá·áº Node ááẠáá¶áá«ááºá ááºáááºááŸááºáá¬ážáá±á¬ á á¶ááá°áá¬á¡áá«á¡ááẠáááºáá±á¬ááºááŸá¯ááœá²á·á ááºážáá¯á¶áá¯á¶á á¶áá»á¬ážáá«ááŸááá±á¬ áá±áá¬áá±á·á áºááœáẠááŸááºáááºážáá áºáᯠááŒá¯áá¯ááºáá²á·áááºá
- á¡áá áºáá áºáá¯á¡ááŒá±á¬ááºáž á¡ááŒá±á¬ááºážááŒá¬ážáá±á¬á¡áá«á ááŸáááŸáá¯ááºážáá±ážááŸá°ážááẠááœá²á·á ááºážááŸá¯áá¯á¶á á¶á¡áá±á«áºá¡ááŒá±áá¶á ááŒáá·áºááŒá°ážááŸá¯ááᯠááœááºáá»ááºáá²á·áááºá ááá¬áá²á· á¡áá¬ááá¹áá¯ááᯠáá±áá¬áá±á·á áºááŸá¬ ááŒááºáá±ážáá¬ážáááºá
- á¡áááºá node ááẠááŒáá·áºáá±ááŸá¯á á¡á áááºá¡ááá¯ááºážááŒá áºáá²á·áá«á ááŸáááŸáá¯ááºážáá±ážááŸá°ážá áááºážááᯠá¡áá¯á¶ážáá»ááááºááŒá áºáááºá
áááºá¡áá¬á áá«ááá¯á·áá²á· áááá¯ááºáá®áá°ážá
áá áºáá»áááºáá»áááºááœáẠáá»áœááºá¯ááºááá¯á· áááá¯á¶ážáá»á¯ááºáá¬áááº- á€áááºááŸá¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááẠáááºážáááºážááá¯ááºáá«á á¡ááŒá±á¬ááºážáááºážáá»á¬ážá áœá¬ááŸááá²á·áááºá
ááŒáá·áºáá»ááºá ááºá¡ááœááºáž á¡ááŸá¬ážá¡ááœááºážá¡áá»áá¯á· ááŒá áºáá±á«áºáá«áá á¡áá¬á¡á¬ážáá¯á¶ážááŒá áºáá»ááºáá²á·ááá·áº node áááŸááºáááºážáá»á¬ážááŸáᬠááœá±á·ááŸáááá¯ááºáááºá asynchronous deployment áá¬ááŸááá±á¬á·áááºá ááá¯á·ááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áá°á¡á¬áž ááŒáá·áºáá»ááºááŸá¯áááºážáááºážá០ááááºážáá»á¯ááºááŸá¯ááᯠááŒááºáá±ážááŒá®ážáá±á¬ááºá áááºáá±á¬ááºááŸá¯ááá¯á áááºááẠáá±á¬ááºáááºá¡áá»áááºá¡áááºážááẠááá¯á¡ááºááẠ- á€á¡áá»áááºá¡ááœááºáž á¡áá¯á¶ážááŒá¯áá°ááẠáá¬ááŸáááááºážáá»á¯ááºááá¯ááºáá«á Service Grid ááᯠááá¯ááá¯ááœá¶á·ááŒáá¯ážááá¯ážáááºá á±áááºá áááºáá±á¬ááºááŸá¯á¡áá áºáá»á¬ážáááºáá®ážáááºá á¡áá¯á¶ážááŒá¯áá°á¡áá áºáá»á¬ážááᯠááœá²áá±á¬ááºáááºááŸáá·áº áá°ááá¯ááºážáááááá¯ááá¯ááœááºáá°á á±áááºá áá áºáá¯áá¯ááŒá±á¬ááºážáá²áááºááá¯á¡ááºáá«áááºá
Service Grid á¡áá áºááᯠáá®ááá¯ááºážááœá²áá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠááááŠážá áœá¬ áá áºááŒáá¯ááºáááºáááºáž ááŒáá·áºáá»ááºááŒááºážá¡ááœáẠá¡á¬ááá¶áá»ááºááᯠáá±ážááá¯áá«áááº- á¡áá¯á¶ážááŒá¯áá° API á០ááááºážáá»á¯ááºááŸá¯ááᯠááŒááºáá±ážááá¯ááºáááºááŸáá·áº áááºážááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá»ááºáá»ááºážá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá á áááºáá¯ááºáá±á¬ááºáá°á¡á¬áž ááŒáá·áºáá»ááºááŸá¯ááá¯ááºáᬠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážááá¯ááºá áœááºážááá¯áááºáž áá±ážááá¯áá«áááºá
ááá¯á·á¡ááŒááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠááá¯ážááŸááºážá á±áááºá ááŒá±á¬ááááºá á¡áá±á¬ááºážá¡áááºáá»á¬ážááŸáá·áº ááŒááºáááºáá»áááºááŸáááŒááºážá០áááºážáá±ážá á±áá»ááºáá«áááºá áááºááŸáºááᯠáá¯á¶áá°áá°ážáá¬ážááŒá®áž áááºáá»ááºáá®ááŸá¯ áááŸááá±á¬áºáááºážá node á¡áá»á¬ážá¡ááŒá¬ážááŒáá·áº ááŒá®ážáá¬ážáá±á¬ á¡áá¯á¶ážáá»ááŸá¯á¡ááœááºáž ááŒá¿áá¬áá»á¬áž áá±á«áºáá±á«ááºáá²á·áááºá topology ááŒá±á¬ááºážáá²áá±á¬á¡áá« node áá»á¬ážááẠááááºážá¡áá»ááºá¡áááºáááŸááºááẠááá¯á¡ááºááŒá®áž ááŒá®ážáá¬ážáá±á¬á¡áá¯á¶ážáá»ááŸá¯ááŸáá·áºá¡áá°á á€áá±áá¬ááẠáá»á¬ážá áœá¬á¡áá±ážáá»áááºááŸáááá¯ááºáááºá
topology ááááºáááŒáááºááŒá áºáá±á¬á¡áá«á ááŸáááŸáá¯ááºážáá±ážááŸá°ážááẠáááºáá±á¬ááºááŸá¯áá»á¬áž ááŒáá·áºááŒá°ážááŸá¯ááᯠááŒááºáááºááœááºáá»ááºááẠááá¯á¡ááºáááºá áá±áá¯áá»á¡á¬ážááŒáá·áºá áááºááẠááááºáááŒááẠtopology ááœáẠááœá±áá±ážááœá±áá°áá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááá±á¬á¡áá«á áááºážááẠááá·áºááŸááºážááááºáá±á¬ á¡ááŸá¬ážáá»á¬ážááᯠááŒá áºáá±á«áºá á±ááá¯ááºáááºá
ááŒá¿áá¬áá»á¬áž
ááŒá¿áá¬ááá«áá²á· ááá¹áá¬á·á¡ááŒá±á¬ááºážá¡áá²ááœá±á áá¬ááœá±áá²á á€á¡áá¬áá»á¬ážáá²á០ááááá¯á¶ážá¡áá»ááºááŸá¬ topology ááŒá±á¬ááºážáá²ááŸá¯ááŒá áºáááºá áááºáá±á¬ááºááŸá¯ ááŒáá·áºáá»ááºááá·áºá¡áá»áááºááááºá node ááẠá¡á á¯á¡áá±ážááá¯á· áááºáá±á¬ááºááá¯ááºááẠááá¯á·ááá¯áẠááœááºááœá¬ážááá¯ááºáááºááᯠáááºáá¬ážáááºáááºááá¯á¡ááºáááºá ááá¯á·á¡ááŒááºá node ááẠá¡á á¯á¡áá±ážááœááºáá«áááºáá±áá«áá áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠnode á¡áá áºááá¯á· áááááºáááºážááœáŸá²ááŒá±á¬ááºážááẠááá¯á¡ááºáááºááŒá áºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááŒáá·áºáá»ááºááŒá®ážáá±á¬ á¡áá¬áá»á¬ážá¡ááŒá±á¬ááºážáá¬áá áááºááŸáááŸáá·áº á¡áá¬ááẠááŒáá·áºáá»ááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºážáááºáž ááŒá±á¬áá±áá«áááºá
á€áááºááŸá¬ áá®ážááŒá¬ážá á¬áááºážááœáẠáá±á¬ááºáá°ááá¯ááºááá·áº ááŒá¿áá¬áá»á¬ážáá²á០áá áºáá¯áá¬ááŒá áºáááº-
- node á áááºáá»áááºááœáẠáá¯á¶áá±áááºááŸááºáá¬ážáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºááá¯á·á¡áá¯á¶ážáá»ááááºáááºážá
- á¡á á¯á¡áá±ážá០node áá áºáá¯á០ááœááºááœá¬ááŒááºáž - node ááᯠáááºáá¶áá±á¬ááºááœááºáá±ážáá«á áá¬áá¯ááºááááºáááºážá
- ááŸáááŸáá¯ááºážáá±ážááŸá°áž ááŒá±á¬ááºážáá²ááœá¬ážáá«á áá¬áá¯ááºáááá²á
- áááá¯ááºážááá·áºááẠá¡á á¯á¡áá±ážááá¯á· ááŒááºáááºáá»áááºáááºáá«á áá¬áá¯ááºááááºáááºážá
- á¡áááºááœááºážááŒááºáž/ááááºááááºážááŒááºáž áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«ááá¬ážá áááºááá¯á·áá¯ááºáá±á¬ááºááááºáááºážá
- áá°ááá¯á·ááẠáááºááŸáºáá»ááºáá®ážááŒááºážá¡ááœáẠáá±á¬ááºážááá¯áá«áá áá»áœááºá¯ááºááá¯á·ááœáẠáááºážááŸáá·áºáááºá ááºáá±áá±á¬ áááºážááŸá®ážááŸá¯ááá¯ááºáá¬áááºáá±á¬ááºááŸá¯áá»á¬áž ááŸááááºá
áá«ááœá±á¡á¬ážáá¯á¶ážáá±á¬á· ááá¯ááºáá«áá°ážá
áá¯á¶ážááŒááºáá»ááº
áá áºááŸááºáá áºáá¯á¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á·áá»áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáááºážá ááºáááºááœááºáá±ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº Event Driven áá»ááºážáááºááŸá¯ááᯠááœá±ážáá»ááºáá²á·áááºá Ignite ááẠnode áá»á¬ážááŒá¬ážááœáẠáááºáá±á·áá»áºáá»á¬ážáá±ážááá¯á·ááẠááœáá·áºááŒá¯ááá·áº á¡á áááºá¡ááá¯ááºážááŸá áºáá¯ááŒá áºááá·áº communication-spi ááŸáá·áº discovery-spi ááá¯á·ááᯠáá¯ááºáá±á¬ááºáá¬ážááŒá®ážááŒá áºáááºá
Communication-spi ááẠnode áá»á¬ážááá¯ááá¯ááºááá¯ááºáááºááœááºáááºááŸáá·áº áááºáá±á·áá»áºáá»á¬ážáá±ážááá¯á·ááẠááœáá·áºááŒá¯áááºá áá±áá¬á¡áá»á¬ážá¡ááŒá¬ážáá±ážááá¯á·ááŒááºážá¡ááœáẠááá·áºáá»á±á¬áºáá«áááºá Discovery-spi ááẠááá·áºá¡á¬áž á¡á
á¯á¡áá±ážááŸá node áá»á¬ážá¡á¬ážáá¯á¶ážáᶠáááºáá±á·áá»áºáá±ážááá¯á·ááá¯ááºá
á±áá«áááºá á
á¶á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááœááºá áááºážááẠring topology ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáááºá Zookeeper ááŸáá·áº áá±á«ááºážá
ááºážááŸá¯áááºáž ááŸááá«áááºá á€ááá
á¹á
ááœáẠááŒááºááœáá·áº topology ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá ááŸááºáá¬ážááá¯ááºááá·áº áá±á¬ááºáááºá¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááŸá¬ ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯-spi ááẠáááºáá±á·áá»áºááᯠnode á¡á¬ážáá¯á¶ážááá¯á· ááŸááºáááºáá±á¬á¡á
á®á¡á
á¥áºá¡ááá¯ááºáž ááá¯á·áá±á¬ááºáá±ážáááºááŒá
áºááŒá±á¬ááºáž á¡á¬ááá¶áá»ááºáá±ážáá«áááºá
ááŒáá·áºáá»ááºááŸá¯ áááá¯ááá¯áá±á¬ááᯠááŒáá·áºáá¡á±á¬ááºá ááŒáá·áºáá»ááºááŒááºážááŸáá·áº á¡áá¯á¶ážáááŒá¯ááŒááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯áá° áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠááŸá¬ááœá±ááœá±á·ááŸáááŸá¯-spi ááŸáá áºááá·áº áá±ážááá¯á·áá«áááºá á€áááºááŸá¬ á¡á±á¬ááºáá«ááá¯á·ááᯠáá±ážáááºá á¡á¬ááá¶áá»ááº:
- áá±á¬ááºážááá¯áá»ááºááᯠá¡á á¯á¡áá±ážááŸá node áá»á¬ážá¡á¬ážáá¯á¶ážá០áááºáá¶áááŸááááºááŒá áºáááºá áááºážááẠááŸáááŸáá¯ááºážáá±ážááŸá°áž ááŒá±á¬ááºážáá²ááá·áºá¡áá« áá±á¬ááºážááá¯áá»ááºááᯠáááºáááºáá¯ááºáá±á¬ááºááá¯ááºá á±áááºááŒá áºáááºá áááºážááẠáááºáá±á·áá»áºáá áºáá¯ááœááºá node áá áºáá¯á á®ááœáẠáááºáá±á¬ááºááŸá¯ááœá²á·á ááºážáá¯á¶áá¯á¶á á¶ááŸáá·áº áááºážáá¡ááŸááºá ááºá¡ááá¯ááºážáá¯ááºáá±á¬ááºááŒááºážáá²á·ááá¯á·áá±á¬ ááá¯á¡ááºáá±á¬ metadata á¡á¬ážáá¯á¶ážááᯠáá«áááºáááºááŒá áºáááºá
- áááºáá±á·áá»áºáá±ážááá¯á·ááŒááºážá áááºážáá»ááºáá±á¬á¡áááá·áºá á¬ááẠááœá²á·á ááºážááŸá¯ááá¯ááºáᬠáááááá¹ááá»á¬ážááŸáá·áº ááŸááºááŒáá¯ááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááŒá±ááŸááºážáá¬ááœáẠáá°áá®áá±ážáááºá
- node á topology ááá¯á·áááºáá±á¬ááºááŸá¯ááᯠdiscovery-spi ááŸáá áºááá·áº áá¯ááºáá±á¬ááºááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áºá node á¡áá áºááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáááºá¡ááœáẠááá¯á¡ááºáá±á¬áá±áá¬á¡á¬ážáá¯á¶ážááᯠáááºáá¶áááŸááááºááŒá áºáááºá
áá±á¬ááºážááá¯ááŸá¯áá áºáá¯ááᯠáááºáá¶áááŸááá±á¬á¡áá«á á¡á á¯á¡áá±ážááŸá áá¯á¶ááŸááºáá»á¬ážá áááºážááᯠá¡áááºááŒá¯ááŒá®áž áá¯ááºáá±á¬ááºááŒááºážáá¯ááºáááºážáá»á¬ážááᯠáááºáá®ážáá«á á€áá¯ááºáááºážáá¬áááºáá»á¬ážááᯠáááºážá á®á á±á¬áá·áºááá¯ááºážááŒá®ážáá±á¬áẠáá®ážááŒá¬ážá¡áá¯ááºááá¬ážáá áºáŠážá០á¡ááŒá¬ážá á¬ááœá²ááœáẠá á®áá¶áá±á¬ááºááœááºáá«áááºá ááŒáá·áºáá»ááºááŸá¯ááẠá¡áá»áááºáá»á¬ážá áœá¬ááŒá¬ááá¯ááºááŒá®áž á á»á±ážááŒá®ážáá±á¬ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯ááᯠáááºážááá¶ááá¯ááºá áœá¬ ááŸá±á¬áá·áºááŸá±ážááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠá€áááºážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒá áºáááºá
áááºážá á®á០áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠááŒáá·áºáá»ááºááŸá¯áááºáá±áá»á¬á áá¯ááºáá±á¬ááºáááºá áááºážááœáẠá¡áá¯ááºáá áºáá¯á¡á¬áž á€áááºážá á®á០ááœá²áá¯ááºáᬠá áááºááŒáá·áºáá»ááºááẠá áááºáá¯ááºáá±á¬ááºááá·áº á¡áá°ážáá¯ááºáá¬ážáá áºáŠážááŸááááºá áááºážáá±á¬ááºá á¡á±á¬ááºáá«áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž ááŒá áºáá±á«áºáá¬áááº-
- node áá áºáá¯á á®ááẠá¡áá¯á¶ážá¡ááŒááºáá±ážáá±á¬ assignment áá¯ááºáá±á¬ááºáá»ááºá¡áá áºááŒá±á¬áá·áº ááŒáá·áºááŒá°ážááŸá¯ááᯠááœááºáááºá áœá¬ ááœááºáá»ááºáááºá
- Nodes ááẠááŒáá·áºáá»ááºááŸá¯áááááºáá»á¬ážááŸáá·áºá¡áá° áááºáá±á·ááºá»ááá¯áá¯ááºáá±ážááŒá®áž ááŸáááŸáá¯ááºážáá±ážááŸá°ážáᶠáá±ážááá¯á·áá«á
- ááŸáááŸáá¯ááºážáá±ážááŸá°ážááẠáááºáá±á·áá»áºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠá á¯á ááºážááŒá®áž ááŸá¬ááœá±ááŸá¯-spi ááŸáá áºááá·áº á¡á á¯á¡áá±ážááŸá node á¡á¬ážáá¯á¶ážáᶠáá±ážááá¯á·ááá·áº ááŒáá·áºáá»ááºááŸá¯áá¯ááºáááºážá ááºáá áºáá¯áá¯á¶ážá ááááºááá¯áá¯ááºáá±ážáá«áááºá
- ááááºááᯠáááºáá¶áááŸááá±á¬á¡áá«á ááŒáá·áºáá»ááºááŸá¯áá¯ááºáááºážá ááºááẠááŒá®ážáá¯á¶ážááŒá®ážá ááá¯á·áá±á¬áẠáá¯ááºáááºážááᯠáááºážá á®á០áááºááŸá¬ážááá¯ááºáá«áááºá
ááŒá
áºáááºááá¯áá±á¬ááºážááŸááºááá·áº áá®ááá¯ááºážá¡áá
áº- org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java
ááŒáá·áºáá»ááºá ááºá¡ááœááºáž á¡ááŸá¬ážá¡ááœááºážáá áºáᯠááŒá áºáá±á«áºáá«áá ááŸáááŸáá¯ááºážáá±ážááŸá°ážáᶠáá±ážááá¯á·ááá·áº áááºáá±á·áá»áºááœáẠá€á¡ááŸá¬ážááᯠáá»ááºááŒááºáž áá«áááºáááºá áááºáá±á·áá»áºáá±á«ááºážá ááºážááŒá®ážáá±á¬ááºá áá±á«ááºážá ááºááŸáááŸáá¯ááºážáá±ážááŸá°ážááẠááŒáá·áºáá»ááºá ááºá¡ááœááºáž á¡ááŸá¬ážá¡ááœááºážáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááŸááááºááŒá áºááŒá®áž ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯-spi ááŸáá áºááá·áº á€á á¬ááᯠáá±ážááá¯á·áááºááŒá áºáááºá á¡ááŸá¬ážá¡ááœááºážá¡áá»ááºá¡áááºáá»á¬ážááẠá¡á á¯á¡áá±ážááŸá áááºááá·áºáá±áá¬áá»á¬ážááœááºáááᯠáááá¯ááºáá«áááºá
Service Grid ááŸá á¡áá±ážááŒá®ážáá±á¬ á¡ááŒá áºá¡áá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠá€áááºáááºááŸá¯ á¡ááºáááá¯áá®áááºááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá topology ááá¯ááŒá±á¬ááºážáá²ááŒááºážááẠdiscovery-spi ááŸáá áºááá·áº áááºáá±á·áá»áºáá áºáá¯áááºážááŒá áºáááºá áá±áá°áá»á¡á¬ážááŒáá·áºá ááááºááŒá áºáá²á·ááá·áºá¡áá¬áá»á¬ážááŸáá·áº ááŸáá¯ááºážááŸááºááá¯ááºáá±á¬á¡áá«á áááá¯ááá¯áá±á¬ááẠá¡ááœááºáá±á«á·áá«ážááŒá®áž áá¯á¶ááŒááºá áááºáá»ááá±á¬ááŒá áºáá²á·áááºá ááŒáá·áºáá»ááºá ááºá¡ááœááºáž áááºááá·áºá¡ááŒá±á¡áá±áá»áá¯ážááá¯áááᯠááá¯ááºááœááºááŒá±ááŸááºážááẠáá¯á¶áá±á¬ááºáá«áááºá
áá±á¬ááºáá¬áááºááŒá áºááá²
á¡áᯠá¡á
á®á¡á
ááºááœá±á¡ááŒá±á¬ááºážá Ignite ááá±á¬áá»ááºá¡ááœáẠááŒá®ážáá¬ážáá±á¬ááŒá±á¬ááºážáá²ááŸá¯ááŸááºááá»áŸááᯠIEP áá¯áá±á«áºáá±á¬ Ignite ááá¯ážáááºááŸá¯ ááá¬áááŒá±ááŸááºážá¡ááŒá
Ạáá±á¬ááºááœááºáá«áááºá Service Grid ááᯠááŒááºááẠáá®ááá¯ááºážáá¯ááºáá¬ááœáẠIEP áá
áºáá¯áááºáž áá«ááŸááá«áááºá
IEP ááœáẠáá¯ááºáááºážáá¬áááºáá»á¬ážááᯠá¡ááá·áº á ááá·áºááœá²áá¬ážáá«áááºá áááá¡ááá·áºááẠááŒáá·áºáá»ááºááŸá¯áááá¯ááá¯áá±á¬ááᯠááŒááºáááºáá¯ááºáá±á¬ááºááŒááºáž áá«áááºááá·áº á¡áááá¡ááá·áºááŒá áºáááºá áááºážááᯠáá¬á áá¬ááœáẠááá·áºááœááºážáá¬ážááŒá®ážá áá¬ážááŸááºáž 2 ááœáẠáá±á«áºáá¬ááá·áº Service Grid á¡áá áºááᯠááẠá ááºážáá¯á¶ážááá¯ááºáááºá áá¯áááá¡ááá·áºááœáẠá¡ááŒá¬ážá¡áá¯ááºáá»á¬ážá áœá¬áá«áááºáááº-
- ááœá±ážááœá±ážá áœá¬ ááŒááºáááºá¡áá¯á¶ážáá»áá«á
- áááºáá±á¬ááºááŸá¯áá¬ážááŸááºážáá±ážááœá²ááŒááºážá
- á¡ááŸá¬ážáá¶ááá¯ááºááẠááá¯ážáá¬áááºá
- áá«ážááœáŸá¬áá±á¬áá±á¬ááºáááº
- á¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºááá áºáá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááŒááºážááŸáá·áº ááœááºáá»ááºááŒááºážá¡ááœáẠáááááá¬áá»á¬áž
áá±á¬ááºáá¯á¶ážááœááºá á¡ááŸá¬ážá¡ááœááºážáá¶ááá¯ááºáááºááŸááá±á¬á ááŒáá·áºáá¬ážáá±á¬áááŸáááá¯ááºááŸá¯á
áá
áºáá»á¬ážáááºáá±á¬ááºáááºá¡ááœáẠááá·áºá¡á¬áž Service Grid ááœáẠá¡ááŒá¶áá±ážááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·áá¶áá¬áá±á¬ááºáááºáááºáááºáááºáž ááááºáá±á«áºá¡ááºáá«áááºá
source: www.habr.com