เช…เชชเชพเชšเซ‡ เช‡เช—เซเชจเชพเช‡เชŸ เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ: เช–เชฐเซ‡เช–เชฐ เชถเซ‚เชจเซเชฏ?

เช…เชชเชพเชšเซ‡ เช‡เช—เซเชจเชพเช‡เชŸ เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ: เช–เชฐเซ‡เช–เชฐ เชถเซ‚เชจเซเชฏ?

เช…เชฎเซ‡ เชฐเชฟเชŸเซ‡เชฒ เชจเซ‡เชŸเชตเชฐเซเช•เชจเชพ เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชตเชฟเชญเชพเช— เช›เซ€เช. เชเช• เชฆเชฟเชตเชธ, เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸเซ‡ MSSQL เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฃเชฎเชพเช‚ Apache Ignite เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเชพเชฏเซ‡ เช—เชฃเชคเชฐเซ€เช“เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เชธเซ‡เชŸ เช•เชฐเซเชฏเซเช‚, เช…เชจเซ‡ เชœเชพเชตเชพ เช•เซ‹เชกเชจเชพ เชธเซเช‚เชฆเชฐ เชšเชฟเชคเซเชฐเซ‹ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡เชจเซ€ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชฌเชคเชพเชตเซ€. เชฎเชจเซ‡ เชคเชฐเชค เชœ เชธเชพเช‡เชŸ เช—เชฎเซเชฏเซเช‚ เชถเซ‚เชจเซเชฏ เชœเชฎเชพเชตเชŸ, เชœเซ‡เชจเซเช‚ เชตเชฐเซเชฃเชจ เชšเชฎเชคเซเช•เชพเชฐเซ‹เชจเซเช‚ เชตเชšเชจ เช†เชชเซ‡ เช›เซ‡: เชคเชฎเชพเชฐเซ‡ เช—เซเชฐเซ€เชกเชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช• เชจเซ‹เชก เชชเชฐ เชคเชฎเชพเชฐเชพ Java เช…เชฅเชตเชพ Scala เช•เซ‹เชกเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชœเชฎเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เชคเซ‡ เชฌเชฆเชฒเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชœเชฎเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชœเซ‡เชฎ เชœเซ‡เชฎ เช•เชพเชฎ เช†เช—เชณ เชตเชงเชคเซเช‚ เช—เชฏเซเช‚ เชคเซ‡เชฎ เชคเซ‡เชฎ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช•เซ‡ เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเชพ เชšเซ‹เช•เซเช•เชธ เช‰เชชเชฏเซ‹เช—เซ‹ เช›เซ‡, เชœเซ‡เชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“ เชนเซเช‚ เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เช•เชŸเชจเซ€ เชจเซ€เชšเซ‡ เชตเชฟเชšเชพเชฐเซ‹ เช…เชจเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชตเชฟเช—เชคเซ‹ เช›เซ‡.

1. เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชจเชฟเชตเซ‡เชฆเชจ

เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชธเชพเชฐ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡. เชธเซ‡เชฒเซเชธเชชเซ‹เชˆเชจเซเชŸ เชธเซ‡เชฒเซเชธ เชชเซ‹เชˆเชจเซเชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช…เชจเซ‡ เชธเซเช•เซ (เชธเซเชŸเซ‹เช• เช•เซ€เชชเชฟเช‚เช— เชฏเซเชจเชฟเชŸ) เชชเซเชฐเซ‹เชกเช•เซเชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช›เซ‡. เชตเซ‡เชšเชพเชฃเชจเชพ เชฌเชฟเช‚เชฆเซเชฎเชพเช‚ "เชจเชพเชจเชพ" เช…เชจเซ‡ "เชฎเซ‹เชŸเชพ" เชฎเซ‚เชฒเซเชฏเซ‹ เชธเชพเชฅเซ‡ "เชธเซเชŸเซ‹เชฐ เชชเซเชฐเช•เชพเชฐ" เชตเชฟเชถเซ‡เชทเชคเชพ เช›เซ‡. เชเช• เชตเชฐเซเช—เซ€เช•เชฐเชฃ (เชตเซ‡เชšเชพเชฃเชจเชพ เชฌเชฟเช‚เชฆเซเชจเชพ เช‰เชคเซเชชเชพเชฆเชจเซ‹เชจเซ€ เชธเซ‚เชšเชฟ) เชตเซ‡เชšเชพเชฃเชจเชพ เชฆเชฐเซ‡เช• เชฌเชฟเช‚เชฆเซ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡ (DBMS เชฎเชพเช‚เชฅเซ€ เชฒเซ‹เชก เชฅเชฏเซ‡เชฒ เช›เซ‡) เช…เชจเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เซ‡ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เชคเชพเชฐเซ€เช–เชฅเซ€ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช‰เชคเซเชชเชพเชฆเชจ
เชตเชฐเซเช—เซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เชฌเชพเช•เชพเชค เช…เชฅเชตเชพ เชญเชพเชคเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ.

เชตเซ‡เชšเชพเชฃเชจเชพ เชชเซ‹เชˆเชจเซเชŸเซเชธเชจเซ€ เชชเชพเชฐเซเชŸเซ€เชถเชจ เช•เชฐเซ‡เชฒ เช•เซ‡เชถ เช—เซ‹เช เชตเชตเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช‰เชคเซเชชเชพเชฆเชจเซ‹ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเช• เชฎเชนเชฟเชจเชพ เช…เช—เชพเช‰เชฅเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซ€ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช•เซ‹เชฎเซเชฌเซ‡เชŸ เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชฎเชพเชŸเซ‡ เช‡เช—เซเชจเชพเช‡เชŸ เช•เซเชฒเชพเชฏเช‚เชŸ เชจเซ‹เชกเชจเซ‡ เชกเซ‡เชŸเชพ เชฒเซ‹เชก เช•เชฐเชตเชพ, เชซเซ‹เชฐเซเชฎเชจเซ€ เชเช•เช‚เชฆเชฐ เช—เชฃเชคเชฐเซ€ (เชธเซเชŸเซ‹เชฐเชจเซ‹ เชชเซเชฐเช•เชพเชฐ, เช‰เชคเซเชชเชพเชฆเชจ เช•เซ‹เชก, เชฆเชฟเชตเชธ, เชจเช‚เชฌเชฐ_เช“เชซ_เชธเซ‡เชฒเซเชธ_เชชเซ‹เช‡เชจเซเชŸเซเชธ) เช…เชจเซ‡ เชคเซ‡เชจเซ‡ DBMS เชชเชฐ เชชเชพเช›เซเช‚ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

2. เชธเชพเชนเชฟเชคเซเชฏเชจเซ‹ เช…เชญเซเชฏเชพเชธ

เชฎเชจเซ‡ เชนเชœเซ€ เชธเซเชงเซ€ เช•เซ‹เชˆ เช…เชจเซเชญเชต เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชšเซ‚เชฒเชพ เชชเชฐเชฅเซ€ เชกเชพเชจเซเชธ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเช‚ เช›เซเช‚. เชเชŸเชฒเซ‡ เช•เซ‡, เชชเซเชฐเช•เชพเชถเชจเซ‹เชจเซ€ เชธเชฎเซ€เช•เซเชทเชพเชฎเชพเช‚เชฅเซ€.

เช•เชฒเชฎ 2016 เช…เชชเชพเชšเซ‡ เช‡เช—เซเชจเชพเช‡เชŸเชจเซ‹ เชชเชฐเชฟเชšเชฏ: เชชเซเชฐเชฅเชฎ เชชเช—เชฒเชพเช‚ เช…เชชเชพเชšเซ‡ เช‡เช—เซเชจเชพเช‡เชŸ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ€ เชฒเชฟเช‚เช• เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เช† เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ€ เช…เชธเซเชชเชทเซเชŸเชคเชพ เชฎเชพเชŸเซ‡ เชจเชฟเช‚เชฆเชพ เช›เซ‡. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชฌเซ‡ เชตเช–เชค เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเซเชฏเซเช‚, เชธเซเชชเชทเซเชŸเชคเชพ เช†เชตเชคเซ€ เชจเชฅเซ€. เชนเซเช‚ เชธเชคเซเชคเชพเชตเชพเชฐ เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเช‰เช‚ เช›เซเช‚ เชถเชฐเซ‚เช†เชค, เชœเซ‡
เช†เชถเชพเชตเชพเชฆเซ€ เชฐเซ€เชคเซ‡ เชตเชšเชจ เช†เชชเซ‡ เช›เซ‡ "เชคเชฎเซ‡ เชเช• เช•เซเชทเชฃเชฎเชพเช‚ เช‰เชญเชพ เชฅเชˆ เชœเชถเซ‹!" เชนเซเช‚ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซ‡เชฐเซ€เชเชฌเชฒ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚, เชฌเซ‡ Apache Ignite Essentials เชตเชฟเชกเชฟเช“เช เชœเซ‹เช‰เช‚ เช›เซเช‚, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเชพเชฐเชพ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เช‰เชชเชฏเซ‹เช—เซ€ เชจ เชนเชคเชพ. เชฎเซ‡เช‚ เชชเซเชฐเชฅเชฎ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฌเชจเชพเชตเซ€เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชซเชพเช‡เชฒ โ€œexample-ignite.xmlโ€ เชธเชพเชฅเซ‡ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช‡เช—เซเชจเชพเช‡เชŸ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‹ เชฎเชพเชตเซ‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชถเซเช‚ เชธเซเช‚เชฆเชฐเชคเชพ เช›เซ‡!

เชฎเซ‡เช‚ เช†เช—เชณ เชตเชพเช‚เชšเซเชฏเซเช‚, เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเชค เชœ 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>

เชตเซ‡เชšเชพเชฃ เชฌเชฟเช‚เชฆเซ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชญเชพเชœเชจ เชงเชพเชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเชฐเซ‚เชฐเซ€ เชเช•เช‚เชฆเชฐ เชฆเชฐเซ‡เช• เช•เซเชฒเชธเซเชŸเชฐ เชจเซ‹เชก เชชเชฐ เชคเซเชฏเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชธเซ‡เชฒเซเชธเชชเซ‹เชˆเชจเซเชŸเช•เซ‡เชถ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡ เชชเช›เซ€ เช•เซเชฒเชพเชฏเช‚เชŸ เชจเซ‹เชก เช…เช‚เชคเชฟเชฎ เชธเชฎเซ€เช•เชฐเชฃ เช•เชฐเชถเซ‡.

เชนเซเช‚ เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒ เชตเชพเช‚เชšเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เชชเซเชฐเชฅเชฎ เช‡เช—เซเชจเชพเช‡เชŸ เช•เซ‹เชฎเซเชชเซเชฏเซเชŸ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ, เชนเซเช‚ เชธเชพเชฆเซเชฐเชถเซเชฏ เชฆเซเชตเชพเชฐเชพ เช•เชฐเซเช‚ เช›เซเช‚. เชฆเชฐเซ‡เช• เช•เซเชฒเชธเซเชŸเชฐ เชจเซ‹เชก เชชเชฐ เชนเซเช‚ 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);

เชธเซเชŸเซ‡เช•เช“เชตเชฐเชซเซเชฒเซ‹ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชญเซ‚เชฒเชจเซเช‚ เช•เชพเชฐเชฃ เช เช›เซ‡ เช•เซ‡ CentOs เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เช•เซ‹เชˆ เช•เชธเซเชŸเชฎ เชธเซ‡เชฒเซเชธเชชเซ‹เชˆเชจเซเชŸ เชตเชฐเซเช— เชจเชฅเซ€. เช…เชฎเซ‡ เชชเชนเซ‹เช‚เชšเซ€ เช—เชฏเชพ เช›เซ€เช. "เชคเชฎเชพเชฐเซ‡ เชฆเชฐเซ‡เช• เชจเซ‹เชก เชชเชฐ เชคเชฎเชพเชฐเชพ เชœเชพเชตเชพ เช•เซ‹เชกเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชœเชฎเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€" เช…เชจเซ‡ เช†เช—เชณ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡? เช…เชฅเชตเชพ "เชคเชฎเชพเชฐเซ‹ เชœเชพเชตเชพ เช•เซ‹เชก" SalesPoint เชตเชฟเชถเซ‡ เชจเชฅเซ€?

เชนเซเช‚ เช•เชฆเชพเชš เช•เช‚เชˆเช• เชšเซ‚เช•เซ€ เช—เชฏเซ‹ เช›เซเช‚ - เชนเซเช‚ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเชพเชจเซเช‚, เชตเชพเช‚เชšเชตเชพเชจเซเช‚ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเช‚ เช›เซเช‚. เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€, เชฎเชจเซ‡ เช…เชจเซเชญเซ‚เชคเชฟ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชตเชฟเชทเชฏ เชชเชฐ เชฌเชงเซเช‚ เชตเชพเช‚เชšเซเชฏเซเช‚ เช›เซ‡, เชนเชตเซ‡ เช•เช‚เชˆ เชจเชตเซเช‚ เชจเชฅเซ€. เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชถเซ‹เชง เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹, เชคเซเชฏเชพเชฐเซ‡ เชฎเชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชฐเชธเชชเซเชฐเชฆ เชŸเชฟเชชเซเชชเชฃเซ€เช“ เชฎเชณเซ€.

เชตเซ‡เชฒเซ‡เชจเซเชŸเชฟเชจ เช•เซเชฒเชฟเชšเซ‡เชจเซเช•เซ‹, เช—เซเชฐเซ€เชกเช—เซ‡เชˆเชจ เชธเชฟเชธเซเชŸเชฎเซเชธ เช–เชพเชคเซ‡ เชฒเซ€เชก เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ, เชœเชตเชพเชฌ เช†เชชเซ‹ เชธเซเชŸเซ‡เช•เช“เชตเชฐเชซเซเชฒเซ‹ เชชเชฐ, เชเชชเซเชฐเชฟเชฒ 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.

เช…เชจเซเชฏ เช…เชงเชฟเช•เซƒเชค เช…เชญเชฟเชชเซเชฐเชพเชฏ: เชกเซ‡เชจเชฟเชธ เชฎเซ‡เช—เซเชกเชพ, เชชเซเชฐเซ‹เชกเช•เซเชŸ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐ, เช—เซเชฐเซ€เชกเช—เซ‡เชจ เชธเชฟเชธเซเชŸเชฎเซเชธ.

เชนเซ‡เชฌเซเชฐเซ‡ เชชเชฐเชจเซ‹ เชฒเซ‡เช– เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ เชตเชฟเชถเซ‡ เชกเซ‡เชจเชฟเชธ เชฎเซ‡เช—เซเชกเชพเชจเชพ เชคเซเชฐเชฃ เชฒเซ‡เช–เซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡: เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ เชญเชพเช— 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 เช‰เชชเชฒเชฌเซเชง เชคเชฎเชพเชฎเชฎเชพเช‚เชฅเซ€ เชธเซŒเชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒ. เชคเซ‡เชจเชพ เชฎเชพเช‚ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเซ‡เชตเชพเช“เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ Github เช•เซเชฒเชธเซเชŸเชฐ เชจเซ‹เชกเซเชธ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชคเซˆเชฏเชพเชฐ เช‰เชฆเชพเชนเชฐเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เช•เซ‹เชˆเชชเชฃ เชตเชงเชพเชฐเชพเชจเชพ เชธเซเช•เซเชตเซ‹เชŸเชฟเช‚เช— เชตเชฟเชจเชพ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเซ‡ เช›เซ‡.

เชนเซเช‚ เชคเซ‡ เชœ เชฐเซ€เชคเซ‡ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชฆเชฒเซ€เชฒเชจเชพ เช†เชงเชพเชฐเซ‡ "เชกเซ‡เชŸเชพ เชจเซ‹เชก" เช…เชฅเชตเชพ "เช•เซเชฒเชพเชฏเชจเซเชŸ เชจเซ‹เชก" เชฒเซ‰เชจเซเชš เช•เชฐเชคเซ€ เชธเชฟเช‚เช—เชฒ เชœเชพเชฐ เชซเชพเช‡เชฒ เชฎเซ‡เชณเชตเซ€เชถ. เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเซ‹ เชชเชฐเชพเชœเชฏ เชฅเชฏเซ‹ เช›เซ‡.

เชฎเซ‡เช—เชพเชฌเชพเช‡เชŸเซเชธ เชŸเซ‡เชธเซเชŸ เชกเซ‡เชŸเชพเชฎเชพเช‚เชฅเซ€ เชฆเชธ เช—เซ€เช—เชพเชฌเชพเช‡เชŸเซเชธ เช•เซ‹เชฎเซเชฌเซ‡เชŸ เชกเซ‡เชŸเชพเชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชฆเซเชตเชฟเชธเช‚เช—เซ€ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชเช• เช•เชพเชฐเชฃเชธเชฐ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡. เชจเซ‹เชกเซเชธ เชชเชฐ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚, เช…เชจเซ‡ เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฌเชพเชˆเชจเชฐเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เชฌเชจเซเชฏเซเช‚.

4. เชจเชฟเชทเซเช•เชฐเซเชท

เช…เชชเชพเชšเซ‡ เช‡เช—เซเชจเชพเช‡เชŸ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ€ เช…เชธเซเชชเชทเซเชŸเชคเชพ เชตเชฟเชถเซ‡ เชชเซเชฐเชฅเชฎ เช เชชเช•เซ‹เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชนเชคเซ‹, เชคเซ‡ เชตเชพเชœเชฌเซ€ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡; 2016 เชฅเซ€ เชฅเซ‹เชกเซ‹ เชฌเชฆเชฒเชพเชฏเซ‹ เช›เซ‡. เชตเซ‡เชฌเชธเชพเชˆเชŸ เช…เชจเซ‡/เช…เชฅเชตเชพ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชจเชพ เช†เชงเชพเชฐเซ‡ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเชˆเชชเชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเซเช‚ เชถเชฟเช–เชพเช‰ เชฎเชพเชฃเชธ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เชจเชฅเซ€.

เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช•เชพเชฐเซเชฏเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเชพ เช†เชงเชพเชฐเซ‡, เช›เชพเชช เชเชตเซ€ เชนเชคเซ€ เช•เซ‡ เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเชพเชคเซเชฐ เชธเชฟเชธเซเชŸเชฎ เชธเซเชคเชฐเซ‡. เช†เชจเชพ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช•: BinaryObject เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฐเชฟเชฎเซ‹เชŸ เช•เซเชฒเชธเซเชŸเชฐ เชจเซ‹เชกเซเชธเชจเซ‡ เช•เชธเซเชŸเชฎ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชถเซ€เช–เชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡; เชเซ€เชฐเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ - เช†เช‚เชคเชฐเชฟเช• เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ
เช…เชชเชพเชšเซ‡ เชชเซ‹เชคเซ‡ เชœ เชชเซเชฐเชœเซเชตเชฒเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชฎเช—เซเชฐ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชธเชฟเชธเซเชŸเชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเซ‡ เช›เซ‡.

เชฎเชจเซ‡ เช†เชถเชพ เช›เซ‡ เช•เซ‡ เชฎเชพเชฐเซ‹ เช…เชจเซเชญเชต เชจเชตเชพ Apache Ignite เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹