рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рд╢реВрдиреНрдп рддреИрдирд╛рддреА: рд╕рд╛рдБрдЪреНрдЪреИ рд╢реВрдиреНрдп?

рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рд╢реВрдиреНрдп рддреИрдирд╛рддреА: рд╕рд╛рдБрдЪреНрдЪреИ рд╢реВрдиреНрдп?

рд╣рд╛рдореА рд░рд┐рдЯреЗрд▓ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧ рд╣реМрдВред рдПрдХ рджрд┐рди, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд▓реЗ MSSQL рд╕рдБрдЧ рд╕рдВрдпреЛрдЬрдирдорд╛ Apache Ignite рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдареВрд▓рд╛-рдареВрд▓рд╛ рдЧрдгрдирд╛рд╣рд░реВрдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрдиреЗ рдХрд╛рд░реНрдп рд╕реЗрдЯ рдЧрд░реНтАНрдпреЛ, рд░ рдЬрд╛рднрд╛ рдХреЛрдбрдХрд╛ рд╕реБрдиреНрджрд░ рджреГрд╖реНрдЯрд╛рдиреНрддрд╣рд░реВ рд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рджреЗрдЦрд╛рдпреЛред рдорд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рд╕рд╛рдЗрдЯ рдордирдкрд░реНрдпреЛ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдЬрд╕рдХреЛ рд╡рд┐рд╡рд░рдгрд▓реЗ рдЪрдорддреНрдХрд╛рд░рд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рдЧрд░реНрджрдЫ: рддрдкрд╛рдИрдВрд▓реЗ рдЧреНрд░рд┐рдбрдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рдЖрдлреНрдиреЛ Java рд╡рд╛ Scala рдХреЛрдб рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреБ рдкрд░реНрджреИрди рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдБрджрд╛ рдпрд╕рд▓рд╛рдИ рдкреБрди: рддреИрдирд╛рддреА рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдХрд╛рдо рдЕрдЧрд╛рдбрд┐ рдмрдвреНрджреИ рдЬрд╛рдБрджрд╛, рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ рдХрд┐ рд╢реВрдиреНрдп рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯрдорд╛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЫрдиреН, рдЬрд╕рдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдо рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рдХрдЯ рддрд▓ рд╡рд┐рдЪрд╛рд░ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫрдиреНред

1. рд╕рдорд╕реНрдпрд╛рдХреЛ рдХрдерди

рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫред рддреНрдпрд╣рд╛рдБ рдПрдХ рд╕реЗрд▓реНрд╕рдкреЛрдЗрдиреНрдЯ рдмрд┐рдХреНрд░реА рдмрд┐рдиреНрджреБ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░ рдПрдХ Sku (рд╕реНрдЯрдХ рдХрд┐рдкрд┐рдЩ рдпреБрдирд┐рдЯ) рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЫред рдмрд┐рдХреНрд░реАрдХреЛ рдмрд┐рдиреНрджреБрдорд╛ "рд╕рд╛рдиреЛ" рд░ "рдареВрд▓реЛ" рдорд╛рдирд╣рд░реВрд╕рдБрдЧ "рд╕реНрдЯреЛрд░ рдкреНрд░рдХрд╛рд░" рд╡рд┐рд╢реЗрд╖рддрд╛ рдЫред рдПрдХ рд╡рд░реНрдЧреАрдХрд░рдг (рдмрд┐рдХреНрд░реА рдмрд┐рдиреНрджреБрдХреЛ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА) рдмрд┐рдХреНрд░реАрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдиреНрджреБрд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ (DBMS рдмрд╛рдЯ рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ) рд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд┐рддрд┐рдмрд╛рдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрддреНрдкрд╛рджрди
рд╡рд░реНрдЧреАрдХрд░рдгрдмрд╛рдЯ рдмрд╣рд┐рд╖реНрдХреГрдд рд╡рд╛ рд╡рд░реНрдЧреАрдХрд░рдгрдорд╛ рдердкрд┐рдпреЛред

рдмрд┐рдХреНрд░реАрдХреЛ рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдХреНрдпрд╛рд╕ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рд░ рдпрд╕рдорд╛ рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХрд╛ рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рдорд╣рд┐рдирд╛ рдЕрдЧрд╛рдбрд┐ рднрдгреНрдбрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд▓рдбрд╛рдИ рдкреНрд░рдгрд╛рд▓реАрд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдиреЛрдбрд▓рд╛рдИ рдбреЗрдЯрд╛ рд▓реЛрдб рдЧрд░реНрди, рдлрд╛рд░рдордХреЛ рдХреБрд▓ рдЧрдгрдирд╛ (рд╕реНрдЯреЛрд░ рдкреНрд░рдХрд╛рд░, рдЙрддреНрдкрд╛рджрди рдХреЛрдб, рджрд┐рди, рдирдореНрдмрд░_of_sales_points) рд░ рдпрд╕рд▓рд╛рдИ DBMS рдорд╛ рдлрд┐рд░реНрддрд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

реи. рд╕рд╛рд╣рд┐рддреНрдпрдХреЛ рдЕрдзреНрдпрдпрди

рдорд╕рдБрдЧ рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рдХреБрдиреИ рдЕрдиреБрднрд╡ рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рдо рдЪреБрд▓реЛрдмрд╛рдЯ рдирд╛рдЪреНрди рдерд╛рд▓реЗрдХреЛ рдЫреБред рддреНрдпреЛ рд╣реЛ, рдкреНрд░рдХрд╛рд╢рдирд╣рд░реВрдХреЛ рд╕рдореАрдХреНрд╖рд╛рдмрд╛рдЯред

рд▓реЗрдЦ 2016 Apache Ignite рдХреЛ рдкрд░рд┐рдЪрдп рджрд┐рдБрджреИ: рдкрд╣рд┐рд▓реЛ рдЪрд░рдгрд╣рд░реВ Apache Ignite рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рд▓рд┐рдЩреНрдХ рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдпреЛ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдиреНрджрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рджреБрдИ рдкрдЯрдХ рдкреБрди: рдкрдвреЗрдВ, рд╕реНрдкрд╖реНрдЯрддрд╛ рдЖрдЙрдБрджреИрдиред рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрдЫреБ рд╕реБрд░реБ рдЧрд░реНрджреИрдХреБрди
рдЖрд╢рд╛рд╡рд╛рджреА рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рдЧрд░реНрджрдЫ "рддрдкрд╛рдИ рдПрдХ рдкрд▓рдорд╛ рдЙрдареНрдиреБрд╣реБрдиреЗрдЫ рд░ рджреМрдбрдиреБрд╣реБрдиреЗрдЫ!" рдо рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдБрджреИ рдЫреБ, рджреБрдИ Apache Ignite Essentials рднрд┐рдбрд┐рдпреЛрд╣рд░реВ рд╣реЗрд░реНрджреИ рдЫреБ, рддрд░ рддрд┐рдиреАрд╣рд░реВ рдореЗрд░реЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдерд┐рдПрдирдиреНред рдореИрд▓реЗ рдкрд╣рд┐рд▓реЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджреИ рдорд╛рдирдХ рдлрд╛рдЗрд▓ "example-ignite.xml" рдХреЛ рд╕рд╛рде рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдмрд╛рдЯ рдЗрдЧреНрдирд╛рдЗрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реБрд░реБ рдЧрд░реЗрдВред рдЧрдгрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ Maven рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ рд╢реВрдиреНрдп рддреИрдирд╛рддреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдХрд╕реНрддреЛ рд╕реБрдиреНрджрд░рддрд╛!

рдореИрд▓реЗ рдердк рдкрдвреЗрдВ, рд░ рддреНрдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рддреБрд░реБрдиреНрддреИ affinityKey рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ (рдкрд╣рд┐рд▓реЗ SQL рдХреНрд╡реЗрд░реА рдорд╛рд░реНрдлрдд рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ), рд░ рд░рд╣рд╕реНрдпрдордп BinaryObject рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ:

IgniteCache<BinaryObject, BinaryObject> people 
        = ignite.cache("Person").withKeepBinary(); 

рдореИрд▓реЗ рдпреЛ рдкрдвреЗрдВ рдереЛрд░реИ: рдмрд╛рдЗрдирд░реА рдврд╛рдБрдЪрд╛ - рдкреНрд░рддрд┐рдмрд┐рдореНрдм рдЬрд╕реНрддреИ рдХреЗрд╣рд┐, рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдХреНрд╖реЗрддреНрд░рд╣рд░реБ рдкрд╣реБрдБрдЪред рд╡рд╕реНрддреБ (рд╕реНрдореГрддрд┐ рдмрдЪрдд) рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдбрд┐рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬ рдирдЧрд░реА рдлрд┐рд▓реНрдбрдХреЛ рдорд╛рди рдкрдвреНрди рд╕рдХреНрдЫред рддрд░ рдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдХреЛ рд╕рдЯреНрдЯрд╛ BinaryObject рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдХрд┐рдирдХрд┐ рддреНрдпрд╣рд╛рдБ рд╢реВрдиреНрдп рддреИрдирд╛рддреА рдЫ? рдХрд┐рди IgniteCache IgniteCache рдорд╛ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдпреЛ ? рдпреЛ рдЕрдЭреИ рд╕реНрдкрд╖реНрдЯ рдЫреИрдиред

рдо рдореЗрд░реЛ рдХреЗрд╕ рдЕрдиреБрд░реВрдк рдХрдореНрдкреНрдпреБрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд░рд┐рдореЗрдХ рдЧрд░реНрджреИрдЫреБред MSSQL рдорд╛ рдмрд┐рдХреНрд░реА рдмрд┐рдиреНрджреБрд╣рд░реВрдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдЮреНрдЬреАрд▓рд╛рдИ [id] [int] NOT NULL рдХреЛ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдо рд╕рдорд╛рдирддрд╛рджреНрд╡рд╛рд░рд╛ рдХреНрдпрд╛рд╕ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреБред

IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")

xml рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдо рдХреНрдпрд╛рд╕ рд╡рд┐рднрд╛рдЬрди рднрдПрдХреЛ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреБ

<bean class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="spCache"/>
    <property name="cacheMode" value="PARTITIONED"/>
</bean>

рдмрд┐рдиреНрджреБрдХреЛ рдмрд┐рдиреНрджреБрджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрджрд╛ рддреНрдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз salesPointCache рд░реЗрдХрд░реНрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрдорд╛ рдЖрд╡рд╢реНрдпрдХ рдЬрдореНрдорд╛ рдмрдирд╛рдЗрдиреЗрдЫ, рдЬрд╕ рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ рдиреЛрдбрд▓реЗ рдЕрдиреНрддрд┐рдо рдпреЛрдЧрдлрд▓ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫред

рдо рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓ рдкрдвреНрджреИ рдЫреБ рдкрд╣рд┐рд▓реЛ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрдореНрдкреНрдпреБрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдо рдпреЛ рд╕рдорд╛рдирддрд╛ рджреНрд╡рд╛рд░рд╛ рдЧрд░реНрдЫреБред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрдорд╛ рдо IgniteRunnable() рдЪрд▓рд╛рдЙрдБрдЫреБ, рдпреЛ рдЬрд╕реНрддреИ:

  @Override
  public void run() {
    SalesPoint sp=salesPointCache.get(spId);
    sp.calculateSalesPointCount();
    ..
  }

рдо рдПрдХреАрдХрд░рдг рд░ рдЕрдкрд▓реЛрдб рддрд░реНрдХ рдердкреНрдЫреБ рд░ рдпрд╕рд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯрдорд╛ рдЪрд▓рд╛рдЙрдБрдЫреБред рд╕рдмреИ рдХреБрд░рд╛ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрднрд░рдорд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред

рдо рджреБрдИ CentOs рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрднрд░рд╣рд░реВ рд╕реБрд░реВ рдЧрд░реНрдЫреБ, IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ default-config.xml рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдкреНрд░рддреНрдпреЗрдХрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

./bin/ignite.sh config/default-config.xml

рджреБрдмреИ рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЛрдбрд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН рд░ рдПрдХ рдЕрд░реНрдХрд╛рд▓рд╛рдИ рджреЗрдЦреНрди рд╕рдХреНрдЫрдиреНред рдореИрд▓реЗ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХреЛ xml рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдЖрд╡рд╢реНрдпрдХ рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫреБ, рдпреЛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдЯреЛрдкреЛрд▓реЛрдЬреАрдорд╛ рддреЗрд╕реНрд░реЛ рдиреЛрдб рдердкреНрдЫ рд░ рддреБрд░реБрдиреНрддреИ рддреНрдпрд╣рд╛рдБ рджреБрдИрд╡рдЯрд╛ рдиреЛрдбрд╣рд░реВ рдЫрдиреНред рд▓рдЧрд▓реЗ рд▓рд╛рдЗрдирдорд╛ "ClassNotFoundException: model.SalesPoint" рджреЗрдЦрд╛рдЙрдБрдЫ

SalesPoint sp=salesPointCache.get(spId);

StackOverflow рднрдиреНрдЫ рдХрд┐ рддреНрд░реБрдЯрд┐рдХреЛ рдХрд╛рд░рдг CentOs рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдХреБрдиреИ рдЕрдиреБрдХреВрд▓рди SalesPoint рд╡рд░реНрдЧ рдЫреИрдиред рд╣рд╛рдореА рдЖрдЗрдкреБрдЧреЗрдХрд╛ рдЫреМрдВред рдХрд╕рд░реА "рддрдкрд╛рдИрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рдЖрдлреНрдиреЛ рдЬрд╛рднрд╛ рдХреЛрдб рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдбрд┐рдкреНрд▓реЛрдЗ рдЧрд░реНрдиреБ рдкрд░реНрджреИрди" рд░ рдпрд╕реНрддреИ? рд╡рд╛ "рддрдкрд╛рдИрдВрдХреЛ рдЬрд╛рднрд╛ рдХреЛрдб" SalesPoint рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛрдЗрди?

рдореИрд▓реЗ рд╕рд╛рдпрдж рдХреЗрд╣рд┐ рдЫреБрдЯреЗрдХреЛ рдЫреБ - рдо рдлреЗрд░рд┐ рдЦреЛрдЬреНрди рдерд╛рд▓реНрдЫреБ, рдкрдвреНрдЫреБ рд░ рдлреЗрд░рд┐ рдЦреЛрдЬреНрдЫреБред рдХреЗрд╣рд┐ рд╕рдордп рдкрдЫрд┐, рдореИрд▓реЗ рд╡рд┐рд╖рдпрдХреЛ рд╕рдмреИ рдХреБрд░рд╛ рдкрдвреЗрдХреЛ рдорд╣рд╕реБрд╕ рдЧрд░реНрдЫреБ, рдЕрдм рдирдпрд╛рдБ рдХреЗрд╣рд┐ рдЫреИрдиред рдореИрд▓реЗ рдЦреЛрдЬреНрджреИ рдЧрд░реНрджрд╛, рдореИрд▓реЗ рдХреЗрд╣реА рд░реЛрдЪрдХ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗред

рднреНрдпрд╛рд▓реЗрдиреНрдЯрд┐рди рдХреБрд▓рд┐рдЪреЗрдиреНрдХреЛ, рдЧреНрд░рд┐рдбрдЧреЗрди рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреНрд░рдореБрдЦ рд╡рд╛рд╕реНрддреБрдХрд╛рд░, рдЬрд╡рд╛рдл рджрд┐рдиреБрд╣реЛрд╕реН StackOverflow рдорд╛, рдЕрдкреНрд░рд┐рд▓ 2016:

Model classes are not peer deployed, but you can use withKeepBinary() flag
on the cache and query BinaryObjects. This way you will avoid deserialization
on the server side and will not get ClassNotFoundException.

рдЕрд░реНрдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рдп: рдбреЗрдирд┐рд╕ рдореНрдпрд╛рдЧреНрдбрд╛, рдЙрддреНрдкрд╛рджрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдирд┐рд░реНрджреЗрд╢рдХ, рдЧреНрд░рд┐рдбрдЧреЗрди рдкреНрд░рдгрд╛рд▓реАред

Habr├й рдорд╛ рд▓реЗрдЦ рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдбреЗрдирд┐рд╕ рдореНрдпрд╛рдЧреНрдбрд╛ рджреНрд╡рд╛рд░рд╛ рддреАрди рд▓реЗрдЦ рд╕рдиреНрджрд░реНрдн: рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛ рднрд╛рдЧ I, рдорд╛рдЗрдХреНрд░реЛ рд╕рд░реНрднрд┐рд╕реЗрд╕ рднрд╛рдЧ II, рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛ рднрд╛рдЧ III 2016-2017ред рджреЛрд╕реНрд░реЛ рд▓реЗрдЦрдорд╛, рдбреЗрдирд┐рд╕рд▓реЗ MaintenanceServiceNodeStartup.jar рдорд╛рд░реНрдлрдд рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рд╕реБрд░реБ рдЧрд░реНрди рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫред рддрдкрд╛рдЗрдБ xml рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдХреЛ рд╕рд╛рде рд╕реБрд░реБрд╡рд╛рдд рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рддрдкрд╛рдЗрдБрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рдкреНрд▓реЛрдЗрдб рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрдорд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЕрдиреБрдХреВрд▓рди рдХрдХреНрд╖рд╛рд╣рд░реВ рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

That's it. Start (..)  node using MaintenanceServiceNodeStartup file or pass
maintenance-service-node-config.xml to Apache Ignite's ignite.sh/bat scripts.
If you prefer the latter then make sure to build a jar file that will contain
all the classes from java/app/common and java/services/maintenance directories.
The jar has to be added to the classpath of every node where the service
might be deployed.

рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рд╣реЛред рдпрд╣рд╛рдБ рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рдХрд┐рди, рдпреЛ рд░рд╣рд╕реНрдпрдордп рдмрд╛рдЗрдирд░реА рдврд╛рдБрдЪрд╛!

3. рд╕рд┐рдВрдЧрд▓ рдЬрд╛рд░

рдбреЗрдирд┐рд╕рд▓реЗ рдореЗрд░реЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореВрд▓реНрдпрд╛рдЩреНрдХрдирдорд╛ рдкрд╣рд┐рд▓реЛ рд╕реНрдерд╛рди рд▓рд┐рдиреБрднрдпреЛ, IMHO рдЙрдкрд▓рдмреНрдз рд╕рдмреИ рднрдиреНрджрд╛ рдЙрдкрдпреЛрдЧреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред рдЙрдирдХреЛ рдорд╛ MicroServices рдЙрджрд╛рд╣рд░рдг Github рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдЙрджрд╛рд╣рд░рдг рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЬреБрди рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд╡рд╛рдЯрд┐рдВрдЧ рдмрд┐рдирд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрджрдЫред

рдо рдпрд╕рд▓рд╛рдИ рддреНрдпрд╣рд┐ рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрдЫреБ рд░ рдПрдХрд▓ рдЬрд╛рд░ рдлрд╛рдЗрд▓ рдкрд╛рдЙрдБрдЫреБ рдЬрд╕рд▓реЗ "рдбреЗрдЯрд╛ рдиреЛрдб" рд╡рд╛ "рдХреНрд▓рд╛рдпрдиреНрдЯ рдиреЛрдб" рд▓рд╛рдИ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рддрд░реНрдХрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рд╕рднрд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ рд░ рдХрд╛рдо рдЧрд░реНрджрдЫред рд╢реВрдиреНрдп рддреИрдирд╛рддреА рдкрд░рд╛рдЬрд┐рдд рднрдПрдХреЛ рдЫред

рдкрд░реАрдХреНрд╖рдг рдбрд╛рдЯрд╛рдХреЛ рдореЗрдЧрд╛рдмрд╛рдЗрдЯрдмрд╛рдЯ рджрд╢реМрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд▓рдбрд╛рдИ рдбрд╛рдЯрд╛рдорд╛ рд╕рдВрдХреНрд░рдордгрд▓реЗ рджреЗрдЦрд╛рдПрдХреЛ рдЫ рдХрд┐ рдмрд╛рдЗрдирд░реА рдврд╛рдБрдЪрд╛ рдПрдХ рдХрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд╕реНрдерд┐рдд рдЫред рдпреЛ рдиреЛрдбрд╣рд░реВрдорд╛ рдореЗрдореЛрд░реА рдЦрдкрдд рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ, рд░ рдпреЛ рд╣реЛ рдЬрд╣рд╛рдБ BinaryObject рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рднрдпреЛред

Con. рдирд┐рд╖реНрдХрд░реНрд╖

Apache Ignite рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХреЛ рдкрд╣рд┐рд▓реЛ рдирд┐рдиреНрджрд╛ рдирд┐рд╖реНрдкрдХреНрд╖ рднрдпреЛ; 2016 рдкрдЫрд┐ рдереЛрд░реИ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫред рд╡реЗрдмрд╕рд╛рдЗрдЯ рд░/рд╡рд╛ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рднреЗрд▓рд╛ рдЧрд░реНрди рдПрдХ рд╢реБрд░реБрдЖрддреАрдХрд╛ рд▓рд╛рдЧрд┐ рдпреЛ рд╕рдЬрд┐рд▓реЛ рдЫреИрдиред

рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛рдХреЛ рдЖрдзрд╛рд░рдорд╛, рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрдирд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдзрд╛рд░рдгрд╛ рдерд┐рдпреЛ, рддрд░ рдкреНрд░рдгрд╛рд▓реА рд╕реНрддрд░рдорд╛ рдорд╛рддреНрд░ред рдХреЗрд╣рд┐ рдпрд╕реНрддреЛ: BinaryObject рд▓рд╛рдИ рд░рд┐рдореЛрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбрд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдХрдХреНрд╖рд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рд┐рдХрд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ; рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди - рдЖрдиреНрддрд░рд┐рдХ рд╕рдВрдпрдиреНрддреНрд░
Apache рдЖрдлреИ рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдЧрд░реНрджрдЫ рд░ рдХреНрд▓рд╕реНрдЯрд░ рднрд░ рдкреНрд░рдгрд╛рд▓реА рд╡рд╕реНрддреБрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫред

рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдореЗрд░реЛ рдЕрдиреБрднрд╡ рдирдпрд╛рдБ Apache Ignite рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди