เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast

เช† เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชตเชฟเช•เชพเชธ เช•เชฐเซเชฏเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชธเชฟเชธเซเชŸเชฎ - เชเช• เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชœเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เช…เชจเซ‡ 1C: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช เชธเชฐเซเชตเชฐเซเชธ เชตเชšเซเชšเซ‡ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ - เช•เชพเชฐเซเชฏ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฅเซ€ เชฒเชˆเชจเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เช…เชจเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชตเชฟเช—เชคเซ‹ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชšเชพเชฐเชตเชพ เชธเซเชงเซ€.

เช‡เชจเซเชŸเชฐเชเช•เซเชถเชจ เชธเชฟเชธเซเชŸเชฎ (เชคเซเชฏเชพเชฐเชฌเชพเชฆ SV เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡) เช—เซ‡เชฐเช‚เชŸเซ€เช•เซƒเชค เชกเชฟเชฒเชฟเชตเชฐเซ€ เชธเชพเชฅเซ‡ เชตเชฟเชคเชฐเชฟเชค, เช–เชพเชฎเซ€-เชธเชนเชฟเชทเซเชฃเซ เชฎเซ‡เชธเซ‡เชœเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เช›เซ‡. SV เชจเซ‡ เช‰เชšเซเชš เชฎเชพเชชเชจเซ€เชฏเชคเชพ เชธเชพเชฅเซ‡ เช‰เชšเซเชš-เชฒเซ‹เชก เชธเซ‡เชตเชพ เชคเชฐเซ€เช•เซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ เช‘เชจเชฒเชพเช‡เชจ เชธเซ‡เชตเชพ (1C เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชพเชฏเซ‡เชฒ) เช…เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช‰เชคเซเชชเชพเชฆเชฟเชค เช‰เชคเซเชชเชพเชฆเชจ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชฐเซเชตเชฐ เชธเซเชตเชฟเชงเชพเช“ เชชเชฐ เชœเชฎเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡.

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

เชธเชฎเชธเซเชฏเชพเชจเซ€ เชฐเชšเชจเชพ

เช…เชฎเซ‡ เช‡เชจเซเชŸเชฐเซ‡เช•เซเชถเชจ เชธเชฟเชธเซเชŸเชฎ เชถเชพ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเซ€ เช›เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชคเชฎเชจเซ‡ 1C เชฎเชพเช‚ เชตเซเชฏเชตเชธเชพเชฏเชฟเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‹ เชตเชฟเช•เชพเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เช•เชนเซ€เชถ.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช…เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เชœเซ‡เช“ เชนเชœเซ เชธเซเชงเซ€ เชœเชพเชฃเชคเชพ เชจเชฅเซ€ เช•เซ‡ เช…เชฎเซ‡ เชถเซเช‚ เช•เชฐเซ€เช เช›เซ€เช :) เช…เชฎเซ‡ 1C:Enterprise เชŸเซ‡เช•เชจเซ‹เชฒเซ‹เชœเซ€ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชฌเชฟเชเชจเซ‡เชธ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชŸเซ‚เชฒ เชคเซ‡เชฎเชœ เชฐเชจเชŸเชพเช‡เชฎเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡ เชฌเชฟเชเชจเซ‡เชธ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช•เซเชฐเซ‹เชธ-เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เช•เซเชฒเชพเชฏเช‚เชŸ-เชธเชฐเซเชตเชฐ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชชเซ‡เชฐเชพเชกเชพเชˆเชฎ

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

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชกเชฎเชพเช‚, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เช…เชจเซ‡ เช•เชพเชฐเซเชฏเซ‹เชจเชพ เชนเซ‡เชกเชฐเซ‹ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‹เชก เช•เซเชฏเชพเช‚ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ - &AtClient / &AtServer เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ (&AtClient / &AtServer เชญเชพเชทเชพเชจเชพ เช…เช‚เช—เซเชฐเซ‡เชœเซ€ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚). 1C เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชนเชตเซ‡ เชฎเชจเซ‡ เชเชฎ เช•เชนเซ€เชจเซ‡ เชธเซเชงเชพเชฐเชถเซ‡ เช•เซ‡ เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹ เช–เชฐเซ‡เช–เชฐ เช›เซ‡ เช•เชฐเชคเชพเช‚ เชตเชงเซ, เชชเชฐเช‚เชคเซ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช† เชนเชตเซ‡ เชฎเชนเชคเซเชตเชจเซเช‚ เชจเชฅเซ€.

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

เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast
เช•เซ‹เชก เช•เซ‡ เชœเซ‡ เชฌเชŸเชจ เช•เซเชฒเชฟเช•เชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡: เช•เซเชฒเชพเชฏเช‚เชŸ เชคเชฐเชซเชฅเซ€ เชธเชฐเซเชตเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชฅเซ€ เช•เชพเชฐเซเชฏ เชฅเชถเซ‡, เชธเชฐเซเชตเชฐเชฅเซ€ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชฅเซ€ เชจเชนเซ€เช‚

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

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

เช‰เชคเซเชชเชพเชฆเชจ เชชเซ‹เชคเซ‡

เชฎเซ‡เชธเซ‡เชœเชฟเช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชฌเชจเชพเชตเซ‹. เชเชกเชชเซ€, เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ, เชฌเชพเช‚เชฏเชงเชฐเซ€เช•เซƒเชค เชกเชฟเชฒเชฟเชตเชฐเซ€ เชธเชพเชฅเซ‡, เชฒเชตเชšเซ€เช• เชฐเซ€เชคเซ‡ เชธเช‚เชฆเซ‡เชถเชพเช“ เชถเซ‹เชงเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชธเชพเชฅเซ‡. เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเชพ เช†เชงเชพเชฐเซ‡, 1C เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เช…เช‚เชฆเชฐ เชšเชพเชฒเชคเชพ เชฎเซ‡เชธเซ‡เชจเซเชœเชฐ (เชธเช‚เชฆเซ‡เชถเชพเช“, เชตเชฟเชกเชฟเชฏเซ‹ เช•เซ‰เชฒเซเชธ) เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‹.

เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เช†เชกเซ€ เชฐเซ€เชคเซ‡ เชฎเชพเชชเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเซ‹. เชจเซ‹เชกเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเซ€เชจเซ‡ เชตเชงเชคเชพ เชญเชพเชฐเชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡.

ะ ะตะฐะปะธะทะฐั†ะธั

เช…เชฎเซ‡ SV เชจเชพ เชธเชฐเซเชตเชฐ เชญเชพเช—เชจเซ‡ เชธเซ€เชงเชพ 1C:Enterprise เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชเช•เซ€เช•เซƒเชค เชจ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‡ เชเช• เช…เชฒเช— เช‰เชคเซเชชเชพเชฆเชจ เชคเชฐเซ€เช•เซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡เชจเซเช‚ API 1C เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธเชจเชพ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช† เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เช•เชพเชฐเชฃเซ‹เชธเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฎเซเช–เซเชฏ เชเช• เช เชนเชคเซเช‚ เช•เซ‡ เชนเซเช‚ เชตเชฟเชตเชฟเชง 1C เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชŸเซเชฐเซ‡เชก เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชเช•เชพเช‰เชจเซเชŸเชฟเช‚เช— เชตเชšเซเชšเซ‡) เชตเชšเซเชšเซ‡ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ€ เช†เชช-เชฒเซ‡ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹. เชตเชฟเชตเชฟเชง 1C เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ 1C เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชชเชฐ เชšเชพเชฒเซ€ เชถเช•เซ‡ เช›เซ‡: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ, เชตเชฟเชตเชฟเชง เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชธเซเชฅเชฟเชค เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช, เชตเช—เซ‡เชฐเซ‡. เช†เชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚, 1C เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชจเซ€ "เชฌเชพเชœเซ" เชธเซเชฅเชฟเชค เชเช• เช…เชฒเช— เช‰เชคเซเชชเชพเชฆเชจ เชคเชฐเซ€เช•เซ‡ SV เชจเซ‹ เช…เชฎเชฒ เช เชถเซเชฐเซ‡เชทเซเช  เช‰เช•เซ‡เชฒ เช›เซ‡.

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชเช• เช…เชฒเช— เช‰เชคเซเชชเชพเชฆเชจ เชคเชฐเซ€เช•เซ‡ SV เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เช…เชฎเซ‡ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชจเชพเชจเซ€ เช•เช‚เชชเชจเซ€เช“ CB เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เชœเซ‡ เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เช•เซเชฒเชพเช‰เชก (wss://1cdialog.com) เชฎเชพเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡เชฅเซ€ เชธเชฐเซเชตเชฐเชจเชพ เชธเซเชฅเชพเชจเชฟเช• เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช…เชจเซ‡ เช—เซ‹เช เชตเชฃเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เช“เชตเชฐเชนเซ‡เชก เช–เชฐเซเชš เชŸเชพเชณเซ€ เชถเช•เชพเชฏ. เชฎเซ‹เชŸเชพ เช—เซเชฐเชพเชนเช•เซ‹เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเซเชตเชฟเชงเชพเช“ เชชเชฐ เชคเซ‡เชฎเชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ CB เชธเชฐเซเชตเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฒเชพเชนเชญเชฐเซเชฏเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡. เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เช•เซเชฒเชพเช‰เชก SaaS เชชเซเชฐเซ‹เชกเช•เซเชŸเชฎเชพเช‚ เชธเชฎเชพเชจ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡ 1cเชซเซเชฐเซ‡เชถ - เชคเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ€ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช‰เชคเซเชชเชพเชฆเชฟเชค เช‰เชคเซเชชเชพเชฆเชจ เชคเชฐเซ€เช•เซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เช•เซเชฒเชพเช‰เชกเชฎเชพเช‚ เชชเชฃ เชœเชฎเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ https://1cfresh.com/.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ

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

เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชจเซ‡ เชธเชฐเซเชตเชฐ เชตเชšเซเชšเซ‡เชจเซ‹ เชธเช‚เชšเชพเชฐ เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ เชฆเซเชตเชพเชฐเชพ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชฐเซ€เช…เชฒ-เชŸเชพเช‡เชฎ เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เชตเชฟเชคเชฐเชฟเชค เช•เซ‡เชถ

เช…เชฎเซ‡ Redis, Hazelcast เช…เชจเซ‡ Ehcache เชตเชšเซเชšเซ‡ เชชเชธเช‚เชฆเช—เซ€ เช•เชฐเซ€. 2015เชจเซ€ เชตเชพเชค เช›เซ‡. เชฐเซ‡เชกเชฟเชธเซ‡ เชนเชฎเชฃเชพเช‚ เชœ เชเช• เชจเชตเซเช‚ เช•เซเชฒเชธเซเชŸเชฐ (เช–เซ‚เชฌ เชจเชตเซเช‚, เชกเชฐเชพเชฎเชฃเซเช‚) เชฌเชนเชพเชฐ เชชเชพเชกเซเชฏเซเช‚ เช›เซ‡, เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชฌเชงเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชธเซ‡เชจเซเชŸเซ€เชจเซ‡เชฒ เช›เซ‡. Ehcache เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€ (เช† เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชชเช›เซ€เชฅเซ€ เชฆเซ‡เช–เชพเชˆ). เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ 3.4 เชธเชพเชฅเซ‡ เช…เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.
เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซ‡ เชฌเซ‹เช•เซเชธเชจเซ€ เชฌเชนเชพเชฐ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเชฟเช‚เช—เชฒ เชจเซ‹เชก เชฎเซ‹เชกเชฎเชพเช‚, เชคเซ‡ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เชจเชฅเซ€ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เช•เซ‡เชถ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ - เชคเซ‡ เชกเชฟเชธเซเช• เชชเชฐ เชกเซ‡เชŸเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชกเชฎเซเชช เช•เชฐเชตเซ‹ เชคเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€, เชœเซ‹ เชคเชฎเซ‡ เชเช•เชฎเชพเชคเซเชฐ เชจเซ‹เชก เช—เซเชฎเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพ เช—เซเชฎเชพเชตเซ‹ เช›เซ‹. เช…เชฎเซ‡ เช˜เชฃเชพ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเซเชธ เชœเชฎเชพเชตเซ€เช เช›เซ€เช, เชœเซ‡เชจเซ€ เชตเชšเซเชšเซ‡ เช…เชฎเซ‡ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชกเซ‡เชŸเชพเชจเซ‹ เชฌเซ‡เช•เช…เชช เชฒเชˆเช เช›เซ€เช. เช…เชฎเซ‡ เช•เซ‡เชถเชจเซ‹ เชฌเซ‡เช•เช…เชช เชฒเซ‡เชคเชพ เชจเชฅเซ€ - เช…เชฎเชจเซ‡ เชคเซ‡เชจเซ‹ เชตเชพเช‚เชงเซ‹ เชจเชฅเซ€.

เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡, เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เช›เซ‡:

  • เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเชคเซเชฐเซ‹เชจเซ‹ เชธเช‚เช—เซเชฐเชน. เชฆเชฐ เชตเช–เชคเซ‡ เชธเชคเซเชฐ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชœเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชฌเชงเชพ เชธเชคเซเชฐเซ‹เชจเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชฎเชพเช‚ เชฎเซ‚เช•เซ€เช เช›เซ€เช.
  • เช•เซ‡เชถ. เชœเซ‹ เชคเชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเซเชฐเซ‹เชซเชพเช‡เชฒ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹, เชคเซ‹ เช•เซ‡เชถ เชคเชชเชพเชธเซ‹. เชจเชตเซ‹ เชธเช‚เชฆเซ‡เชถ เชฒเช–เซเชฏเซ‹ - เชคเซ‡เชจเซ‡ เช•เซ‡เชถเชฎเชพเช‚ เชฎเซ‚เช•เซ‹.
  • เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชตเชšเซเชšเซ‡ เชธเช‚เชšเชพเชฐ เชฎเชพเชŸเซ‡ เชตเชฟเชทเชฏเซ‹. เชจเซ‹เชก เชเช• เช‡เชตเซ‡เชจเซเชŸ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชตเชฟเชทเชฏเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡. เช† เชตเชฟเชทเชฏ เชชเชฐ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเซ‡เชฒ เช…เชจเซเชฏ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชจเซ‹เชกเซเชธ เช‡เชตเซ‡เชจเซเชŸเชจเซ‡ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡.
  • เช•เซเชฒเชธเซเชŸเชฐ เชคเชพเชณเชพเช“. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเซ‡ เชเช• เช…เชจเชจเซเชฏ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชšเชฐเซเชšเชพ เชฌเชจเชพเชตเซ€เช เช›เซ€เช (1C เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเชฟเช‚เช—เชฒเชŸเซ‹เชจ เชšเชฐเซเชšเชพ):

conversationKeyChecker.check("ะ‘ะ•ะะ—ะžะšะžะ›ะžะะšะ");

      doInClusterLock("ะ‘ะ•ะะ—ะžะšะžะ›ะžะะšะ", () -> {

          conversationKeyChecker.check("ะ‘ะ•ะะ—ะžะšะžะ›ะžะะšะ");

          createChannel("ะ‘ะ•ะะ—ะžะšะžะ›ะžะะšะ");
      });

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

DBMS เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ PostgreSQL เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เช…เชจเซ‡ เช† DBMS เชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชธเชพเชฅเซ‡ เชธเชนเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชตเซเชฏเชพเชชเช• เช…เชจเซ‡ เชธเชซเชณ เช…เชจเซเชญเชต เช›เซ‡.

PostgreSQL เช•เซเชฒเชธเซเชŸเชฐ เชธเชพเชฅเซ‡ เชคเซ‡ เชธเชฐเชณ เชจเชฅเซ€ - เชคเซเชฏเชพเช‚ เช›เซ‡ XL, XC, เชธเชฟเชŸเชธ, เชชเชฐเช‚เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช† NoSQL เชจเชฅเซ€ เช•เซ‡ เชœเซ‡ เชฌเซ‹เช•เซเชธเชจเซ€ เชฌเชนเชพเชฐ เชธเซเช•เซ‡เชฒ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ NoSQL เชจเซ‡ เชฎเซเช–เซเชฏ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชคเชฐเซ€เช•เซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเซเช‚ เชจ เชนเชคเซเช‚; เชคเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เช…เชฎเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชฒเซ€เชงเซเช‚, เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช…เชฎเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชจ เชนเชคเซเช‚.

เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชธเซเช•เซ‡เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เชถเชพเชฐเซเชกเชฟเช‚เช—. เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹, เชถเชพเชฐเซเชกเชฟเช‚เช— เชธเชพเชฅเซ‡ เช…เชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เช…เชฒเช—-เช…เชฒเช— เชญเชพเช—เซ‹เชฎเชพเช‚ เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡เชฅเซ€ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช•เชจเซ‡ เช…เชฒเช— เชธเชฐเซเชตเชฐ เชชเชฐ เชฎเซ‚เช•เซ€ เชถเช•เชพเชฏ.

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

เชคเชฎเซ‡ เชฎเชฒเซเชŸเชฟ-เชŸเซ‡เชจเชจเซเชŸ เชตเชฟเชถเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเซ‡เชฌเชธเชพเช‡เชŸ เชชเชฐ เชธเชพเช‡เชŸเชธ เชกเซ‡เชŸเชพ.

เชเชธเชตเซ€ เชชเชพเชธเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช…เชจเซ‡ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเชจเซ€ เชตเชฟเชญเชพเชตเชจเชพเช“ เช›เซ‡. เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เช เชฌเชฟเชเชจเซ‡เชธ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซเช‚ เชšเซ‹เช•เซเช•เชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ ERP เช…เชฅเชตเชพ เชเช•เชพเช‰เชจเซเชŸเชฟเช‚เช—, เชคเซ‡เชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชตเซเชฏเชตเชธเชพเชฏ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡. เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐ เช เชเช• เชธเช‚เชธเซเชฅเชพ เช…เชฅเชตเชพ เชตเซเชฏเช•เซเชคเชฟ เช›เซ‡ เชœเซ‡เชจเชพ เชตเชคเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ SV เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชจเซ‹เช‚เชงเชพเชฏเซ‡เชฒ เช›เซ‡. เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐ เชชเชพเชธเซ‡ เช˜เชฃเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชจเซ‹เช‚เชงเชพเชฏเซ‡เชฒ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ เช† เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ€ เช†เชช-เชฒเซ‡ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช—เซเชฐเชพเชนเช• เช…เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชญเชพเชกเซ‚เชค เชฌเชจเซเชฏเซ‹. เช˜เชฃเชพ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเซเชธเชจเชพ เชธเช‚เชฆเซ‡เชถเชพเช“ เชเช• เชญเซŒเชคเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡; เชœเซ‹ เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช•เซ‡ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเซ‡ เช˜เชฃเซ‹ เชŸเซเชฐเชพเชซเชฟเช• เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชคเซ‹ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชเช• เช…เชฒเช— เชญเซŒเชคเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เช (เช…เชฅเชตเชพ เช…เชฒเช— เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชฐเซเชตเชฐ) เชชเชฐ เช–เชธเซ‡เชกเซ€เช เช›เซ€เช.

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

เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast

เชฎเซเช–เซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เช…เชกเชšเชฃ เชฌเชจเชคเชพ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฐเซ‚เชŸเซ€เช‚เช— เชŸเซ‡เชฌเชฒ (เช…เชจเซ‡ เช…เชจเซเชฏ เชตเชพเชฐเช‚เชตเชพเชฐ เชœเชฐเซ‚เชฐเซ€ เชกเซ‡เชŸเชพ)เชจเซ‡ เช•เซ‡เชถเชฎเชพเช‚ เชฐเชพเช–เซ€เช เช›เซ€เช.

เชœเซ‹ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเชจเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชงเซ€เชฎเซเช‚ เชฅเชตเชพ เชฒเชพเช—เซ‡ เช›เซ‡, เชคเซ‹ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช…เช‚เชฆเชฐเชจเชพ เชชเชพเชฐเซเชŸเซ€เชถเชจเซ‹เชฎเชพเช‚ เช•เชพเชชเซ€ เชจเชพเช–เซ€เชถเซเช‚. เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช pg_pathman.

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

เชœเซ‹ เชธเชฟเช‚เช•เซเชฐเชจเชธ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช–เซ‹เชตเชพเชˆ เชœเชพเชฏ, เชคเซ‹ เช…เชธเซเชฎเซ‡เชณ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เชธเชฟเช‚เช•เซเชฐเชจเชธ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡.
เชœเซ‹ เชฎเซเช–เซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เช–เซ‹เชตเชพเชˆ เชœเชพเชฏ, เชคเซ‹ เชธเชฟเช‚เช•เซเชฐเชจเชธ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เชฎเซเช–เซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช…เชธเซเชฎเซ‡เชณ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เชธเชฟเช‚เช•เซเชฐเชจเชธ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡.

เชถเซ‹เชง เชฎเชพเชŸเซ‡ เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช• เชถเซ‹เชง

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

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

[เชคเซ‡เช“, เชŸเซ‡เช•, เชŸเซ‡เช•เซเชธ, เชŸเซ‡เช•เซเชธเซเชŸ, เชŸเซ‡เช•เซเชธเซเชŸเซเชธ, เชเช•, เชญเซ‚เชคเชชเซ‚เชฐเซเชต, เชเช•เซเชธเชŸ, เชŸเซ‡เช•เซเชธเซเชŸเซเชธ, ks, kst, ksty, st, sty, เชคเชฎเซ‡],

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

เชธเชพเชฎเชพเชจเซเชฏ เชšเชฟเชคเซเชฐ

เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast
เชฒเซ‡เช–เชจเซ€ เชถเชฐเซ‚เช†เชคเชฅเซ€ เชšเชฟเชคเซเชฐเชจเซเช‚ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเซ‹, เชชเชฐเช‚เชคเซ เชธเซเชชเชทเซเชŸเชคเชพ เชธเชพเชฅเซ‡:

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

เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ

SV เชจเชพ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚, เช…เชฎเซ‡ เชœเซ‡ เช‰เชคเซเชชเชพเชฆเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡เชจเซ€ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เชฐเชธเชชเซเชฐเชฆ เชธเซเชตเชฟเชงเชพเช“ เชฎเชณเซ€.

เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฒเชฟเช•

เชฆเชฐเซ‡เช• SV เชฐเชฟเชฒเซ€เชเชจเชพ เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚ เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชธเชซเชณ เชฅเชพเชฏ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡:

  • เชชเชฐเซ€เช•เซเชทเชฃ เช˜เชฃเชพ เชฆเชฟเชตเชธเซ‹ เชธเซเชงเซ€ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชธเซ‡เชตเชพ เชจเชฟเชทเซเชซเชณเชคเชพ เชจ เชนเชคเซ€
  • เชฎเซเช–เซเชฏ เช•เชพเชฎเช—เซ€เชฐเซ€ เชฎเชพเชŸเซ‡ เชชเซเชฐเชคเชฟเชญเชพเชต เชธเชฎเชฏ เช†เชฐเชพเชฎเชฆเชพเชฏเช• เชฅเซเชฐเซ‡เชถเซ‹เชฒเซเชก เช•เชฐเชคเชพเช‚ เชตเชงเซ€ เช—เชฏเซ‹ เชจ เชนเชคเซ‹
  • เชชเชพเช›เชฒเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจเชฎเชพเช‚ เชฌเช—เชพเชก 10% เช•เชฐเชคเชพ เชตเชงเซ เชจเชฅเซ€

เช…เชฎเซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชŸเซ‡เชธเซเชŸ เชกเซ‡เชŸเชพเชฌเซ‡เช เชญเชฐเซ€เช เช›เซ€เช - เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เชธเซŒเชฅเซ€ เชตเชงเซ เชธเช•เซเชฐเชฟเชฏ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เช เช›เซ€เช, เชคเซ‡เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ 5 (เชธเช‚เชฆเซ‡เชถเชพเช“, เชšเชฐเซเชšเชพเช“, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“) เชตเชกเซ‡ เช—เซเชฃเชพเช•เชพเชฐ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เชคเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€เช เช›เซ€เช.

เช…เชฎเซ‡ เชคเซเชฐเชฃ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹เชฎเชพเช‚ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชธเชฟเชธเซเชŸเชฎเชจเซเช‚ เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€เช เช›เซ€เช:

  1. เชคเชฃเชพเชต เชชเชฐเซ€เช•เซเชทเชฃ
  2. เชฎเชพเชคเซเชฐ เชœเซ‹เชกเชพเชฃเซ‹
  3. เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐ เชจเซ‹เช‚เชงเชฃเซ€

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

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฃเชพเชต เชชเชฐเซ€เช•เซเชทเชฃเชจเซ‹ เช† เชญเชพเช— เช†เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

  • เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ‡ เช›เซ‡
    • เชคเชฎเชพเชฐเซ€ เชจ เชตเชพเช‚เชšเซ‡เชฒเซ€ เชšเชฐเซเชšเชพเช“เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡
    • เชธเช‚เชฆเซ‡เชถเชพเช“ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ 50%
    • เชŸเซ‡เช•เซเชธเซเชŸเชจเซ€ เชถเช•เซเชฏเชคเชพ 50%
    • เช†เช—เชฒเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ:
      • เชจเชตเซ€ เชšเชฐเซเชšเชพ เชฌเชจเชพเชตเชตเชพเชจเซ€ 20% เชคเช• เช›เซ‡
      • เชฐเซ‡เชจเซเชกเชฎเชฒเซ€ เชคเซ‡เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชšเชฐเซเชšเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡
      • เช…เช‚เชฆเชฐ เชœเชพเชฏ เช›เซ‡
      • เชธเช‚เชฆเซ‡เชถเชพเช“, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเซเชฐเซ‹เชซเชพเช‡เชฒเซเชธเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡
      • เช† เชšเชฐเซเชšเชพเชฎเชพเช‚เชฅเซ€ เชฐเซ‡เชจเซเชกเชฎ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชธเช‚เชฌเซ‹เชงเชฟเชค เชชเชพเช‚เชš เชธเช‚เชฆเซ‡เชถเชพเช“ เชฌเชจเชพเชตเซ‡ เช›เซ‡
      • เชšเชฐเซเชšเชพ เช›เซ‹เชกเซ€ เชฆเซ‡ เช›เซ‡
      • 20 เชตเช–เชค เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฅเชพเชฏ เช›เซ‡
      • เชฒเซ‰เช— เช†เช‰เชŸ เชฅเชพเชฏ เช›เซ‡, เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชชเชพเช›เชพ เชœเชพเชฏ เช›เซ‡

    • เชšเซ‡เชŸเชฌเซ‹เชŸ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถเซ‡ เช›เซ‡ (เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชธเซ‡เชœเชฟเช‚เช—เชจเซเช‚ เช…เชจเซเช•เชฐเชฃ เช•เชฐเซ‡ เช›เซ‡)
      • เชกเซ‡เชŸเชพ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชšเซ‡เชจเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ€ 50% เชคเช• เช›เซ‡ (เช–เชพเชธ เชšเชฐเซเชšเชพ)
      • 50% เชตเชฐเซเชคเชฎเชพเชจ เชšเซ‡เชจเชฒเซ‹เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃเชจเซ‡ เชธเช‚เชฆเซ‡เชถ เชฒเช–เชตเชพเชจเซ€ เชธเช‚เชญเชพเชตเชจเชพ เช›เซ‡

"เชฎเชพเชคเซเชฐ เชœเซ‹เชกเชพเชฃเซ‹" เชฆเซƒเชถเซเชฏ เชเช• เช•เชพเชฐเชฃเชธเชฐ เชฆเซ‡เช–เชพเชฏเซเช‚. เชเช• เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เช›เซ‡: เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เช เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเชœเซ€ เชธเซเชงเซ€ เชคเซ‡เชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เชฅเชฏเชพ เชจเชฅเซ€. เชฆเชฐเซ‡เช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเชตเชพเชฐเซ‡ 09:00 เชตเชพเช—เซเชฏเซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชšเชพเชฒเซ เช•เชฐเซ‡ เช›เซ‡, เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฃ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชถเชพเช‚เชค เชฐเชนเซ‡ เช›เซ‡. เช† เชตเซเชฏเช•เซเชคเชฟเช“ เช–เชคเชฐเชจเชพเช• เช›เซ‡, เชคเซ‡เชฎเชพเช‚เชจเชพ เช˜เชฃเชพ เช›เซ‡ - เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชเช•เชฎเชพเชคเซเชฐ เชชเซ‡เช•เซ‡เชœ เชชเชฟเช‚เช—/เชชเซ‹เช‚เช— เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เช“ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชถเชจ เชฐเชพเช–เซ‡ เช›เซ‡ (เชคเซ‡เช“ เชคเซ‡เชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เชคเชพ เชจเชฅเซ€ - เชœเซ‹ เช•เซ‹เชˆ เชจเชตเซ‹ เชธเช‚เชฆเซ‡เชถ เชนเซ‹เชฏ เชคเซ‹ เชถเซเช‚ เชฅเชถเซ‡). เชชเชฐเซ€เช•เซเชทเชฃ เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซเช‚ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชจ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช†เชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช…เชกเชงเชพ เช•เชฒเชพเช•เชฎเชพเช‚ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฒเซ‰เช— เช‡เชจ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เชคเชฃเชพเชต เชชเชฐเซ€เช•เซเชทเชฃ เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซเช‚ เชงเซเชฏเชพเชจ เช† เชชเซเชฐเชฅเชฎ เช‡เชจเชชเซเชŸ เชชเชฐ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เช›เซ‡ - เชœเซ‡เชฅเซ€ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชจเชฟเชทเซเชซเชณเชคเชพ เชจ เชนเซ‹เชฏ (เชตเซเชฏเช•เซเชคเชฟ เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชจเชฅเซ€, เช…เชจเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชชเชกเซ€ เชœเชพเชฏ เช›เซ‡ - เช•เช‚เชˆเช• เช–เชฐเชพเชฌ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡).

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

เช…เชฎเซ‡ เชฒเซ‹เชก เชœเชจเชฐเซ‡เชŸเชฐ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡เชฎเซ€เชŸเชฐ. เชคเซ‡ เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€; เชคเซ‡เชจเซ‡ เชชเซเชฒเช—เช‡เชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. "jmeter เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ" เช•เซเชตเซ‡เชฐเซ€ เชฎเชพเชŸเซ‡ เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹เชฎเชพเช‚ เชชเซเชฐเชฅเชฎ เช›เซ‡: BlazeMeter เชจเชพ เชฒเซ‡เช–เซ‹, เชœเซ‡ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡ Maciej Zaleski เชฆเซเชตเชพเชฐเชพ เชชเซเชฒเช—เช‡เชจ.

เชคเซเชฏเชพเช‚เชฅเซ€ เชœ เช…เชฎเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

เช—เช‚เชญเซ€เชฐ เชชเชฐเซ€เช•เซเชทเชฃ เชถเชฐเซ‚ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชฒเช—เชญเช— เชคเชฐเชค เชœ, เช…เชฎเซ‡ เชถเซ‹เชงเซเชฏเซเช‚ เช•เซ‡ JMeter เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚.

เชชเซเชฒเช—เช‡เชจ เชเช• เช…เชฒเช— เชฎเซ‹เชŸเซ€ เชตเชพเชฐเซเชคเชพ เช›เซ‡; 176 เชคเชพเชฐเชพเช“ เชธเชพเชฅเซ‡, เชคเซ‡เชฎเชพเช‚ เช—เซ€เชฅเชฌ เชชเชฐ 132 เชซเซ‹เชฐเซเช• เช›เซ‡. เชฒเซ‡เช–เช•เซ‡ เชชเซ‹เชคเซ‡ 2015 เชฅเซ€ เชคเซ‡เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€ (เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ 2015 เชฎเชพเช‚ เชฒเซ€เชงเซเช‚ เชนเชคเซเช‚, เชชเช›เซ€ เชคเซ‡ เชถเช‚เช•เชพ เชชเซ‡เชฆเชพ เช•เชฐเซ€ เชจ เชนเชคเซ€), เชฎเซ‡เชฎเชฐเซ€ เชฒเชฟเช•เชจเซ‡ เชฒเช—เชคเซ€ เช˜เชฃเซ€ เช—เซ€เชฅเชฌ เชธเชฎเชธเซเชฏเชพเช“, 7 เช…เชจเช•เซเชฒเซ‹เชเซเชก เชชเซเชฒ เชตเชฟเชจเช‚เชคเซ€เช“.
เชœเซ‹ เชคเชฎเซ‡ เช† เชชเซเชฒเช—เช‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชšเชฐเซเชšเชพเช“ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ‹:

  1. เชฎเชฒเซเชŸเชฟ-เชฅเซเชฐเซ‡เชกเซ‡เชก เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚, เชจเชฟเชฏเชฎเชฟเชค LinkedListเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ NPE เชฐเชจเชŸเชพเช‡เชฎเชฎเชพเช‚. เช† เช•เชพเช‚ เชคเซ‹ ConcurrentLinkedDeque เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ€เชจเซ‡ เช…เชฅเชตเชพ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซเชก เชฌเซเชฒเซ‹เช•เซเชธ เชฆเซเชตเชพเชฐเชพ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฅเชฎ เชตเชฟเช•เชฒเซเชช เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซ‹ (https://github.com/maciejzaleski/JMeter-WebSocketSampler/issues/43).
  2. เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช•; เชกเชฟเชธเซเช•เชจเซ‡เช•เซเชŸ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชนเชฟเชคเซ€ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชจเชฅเซ€ (https://github.com/maciejzaleski/JMeter-WebSocketSampler/issues/44).
  3. เชธเซเชŸเซเชฐเซ€เชฎเชฟเช‚เช— เชฎเซ‹เชกเชฎเชพเช‚ (เชœเซเชฏเชพเชฐเซ‡ เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ เชจเชฎเซ‚เชจเชพเชจเชพ เช…เช‚เชคเซ‡ เชฌเช‚เชง เชจ เชนเซ‹เชฏ, เชชเชฐเช‚เชคเซ เชฏเซ‹เชœเชจเชพเชฎเชพเช‚ เชชเชพเช›เชณเชฅเซ€ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡), เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเซ‡เชŸเชฐเซเชจ เช•เชพเชฎ เช•เชฐเชคเซ€ เชจเชฅเซ€ (https://github.com/maciejzaleski/JMeter-WebSocketSampler/issues/19).

เช† เช—เซ€เชฅเชฌ เชชเชฐเชจเชพ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เช›เซ‡. เช…เชฎเซ‡ เชถเซเช‚ เช•เชฐเซเชฏเซเช‚:

  1. เชฒเช‡ เชฒเซ€เชงเซเช‚ เชซเซ‹เชฐเซเช• Elyran เช•เซ‹เช—เชจ (@elyrank) - เชคเซ‡ 1 เช…เชจเซ‡ 3 เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช เซ€เช• เช•เชฐเซ‡ เช›เซ‡
  2. เช‰เช•เซ‡เชฒเชพเชฏเซ‡เชฒ เชธเชฎเชธเซเชฏเชพ 2
  3. 9.2.14 เชฅเซ€ 9.3.12 เชธเซเชงเซ€ เชœเซ‡เชŸเซ€ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€
  4. เชฅเซเชฐเซ‡เชกเชฒเซ‹เช•เชฒเชฎเชพเช‚ เชธเชฟเชฎเซเชชเชฒเชกเซ‡เชŸเชซเซ‹เชฐเซเชฎเซ‡เชŸ เชฒเชชเซ‡เชŸเซ€; SimpleDateFormat เชฅเซเชฐเซ‡เชก-เชธเซ‡เชซ เชจเชฅเซ€, เชœเซ‡ เชฐเชจเชŸเชพเช‡เชฎ เชชเชฐ NPE เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡
  5. เชฌเซ€เชœเซ€ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช•เชจเซ‡ เช เซ€เช• เช•เชฐเซ€ (เช•เชจเซ‡เช•เซเชถเชจ เชกเชฟเชธเซเช•เชจเซ‡เช•เซเชŸ เชฅเชฏเซเช‚ เชคเซเชฏเชพเชฐเซ‡ เช–เซ‹เชŸเซ€ เชฐเซ€เชคเซ‡ เชฌเช‚เชง เชฅเชฏเซเช‚ เชนเชคเซเช‚)

เช…เชจเซ‡ เช›เชคเชพเช‚ เชคเซ‡ เชตเชนเซ‡ เช›เซ‡!

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

เชฌเซ‡ เชฆเชฟเชตเชธ เชตเซ€เชคเซ€ เช—เชฏเชพ...

เชนเชตเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซ€ เชฎเซ‡เชฎเชฐเซ€ เช†เช‰เชŸ เชฅเชˆ เชฐเชนเซ€ เช›เซ‡. เชฒเซ‹เช—เซเชธ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชชเชฐเซ€เช•เซเชทเชฃเชจเชพ เชฅเซ‹เชกเชพ เชฆเชฟเชตเชธเซ‹ เชชเช›เซ€, เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเซ‡ เชฎเซ‡เชฎเชฐเซ€เชจเชพ เช…เชญเชพเชต เชตเชฟเชถเซ‡ เชซเชฐเชฟเชฏเชพเชฆ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เช…เชจเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€ เช•เซเชฒเชธเซเชŸเชฐ เช…เชฒเช— เชชเชกเซ€ เช—เชฏเซเช‚, เช…เชจเซ‡ เช—เชพเช‚เช เซ‹ เชเช• เชชเช›เซ€ เชเช• เชฎเซƒเชคเซเชฏเซ เชชเชพเชฎเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซเชฏเซเช‚. เช…เชฎเซ‡ JVisualVM เชจเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ "เชฐเชพเช‡เชเชฟเช‚เช— เชธเซ‹" เชœเซ‹เชฏเซเช‚ - เชคเซ‡ เชจเชฟเชฏเชฎเชฟเชคเชชเชฃเซ‡ GC เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชคเซเช‚ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชฎเซ‡เชฎเชฐเซ€ เชธเชพเชซ เช•เชฐเซ€ เชถเช•เซเชฏเซเช‚ เชจเชฅเซ€.

เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast

เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ 3.4 เชฎเชพเช‚, เชจเช•เชถเซ‹ / เชฎเชฒเซเชŸเชฟเชฎเซ‡เชช (map.destroy()) เช•เชพเชขเซ€ เชจเชพเช–เชคเซ€ เชตเช–เชคเซ‡, เชฎเซ‡เชฎเชฐเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฎเซเช•เซเชค เชฅเชคเซ€ เชจเชฅเซ€:

github.com/hazelcast/hazelcast/issues/6317
github.com/hazelcast/hazelcast/issues/4888

เชฌเช— เชนเชตเซ‡ 3.5 เชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‡เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชธเชฎเชฏเซ‡ เชคเซ‡ เชเช• เชธเชฎเชธเซเชฏเชพ เชนเชคเซ€. เช…เชฎเซ‡ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชจเชพเชฎเซ‹ เชธเชพเชฅเซ‡ เชจเชตเชพ เชฎเชฒเซเชŸเชฟเชฎเซ‡เชชเซเชธ เชฌเชจเชพเชตเซเชฏเชพ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เชคเชฐเซเช• เช…เชจเซเชธเชพเชฐ เชคเซ‡เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซเชฏเชพ เช›เซ‡. เช•เซ‹เชก เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชคเซ‹ เชนเชคเซ‹:

public void join(Authentication auth, String sub) {
    MultiMap<UUID, Authentication> sessions = instance.getMultiMap(sub);
    sessions.put(auth.getUserId(), auth);
}

public void leave(Authentication auth, String sub) {
    MultiMap<UUID, Authentication> sessions = instance.getMultiMap(sub);
    sessions.remove(auth.getUserId(), auth);

    if (sessions.size() == 0) {
        sessions.destroy();
    }
}

เช•เซ‰เชฒ เช•เชฐเซ‹:

service.join(auth1, "ะะžะ’ะซะ•_ะกะžะžะ‘ะฉะ•ะะ˜ะฏ_ะ’_ะžะ‘ะกะฃะ–ะ”ะ•ะะ˜ะ˜_UUID1");
service.join(auth2, "ะะžะ’ะซะ•_ะกะžะžะ‘ะฉะ•ะะ˜ะฏ_ะ’_ะžะ‘ะกะฃะ–ะ”ะ•ะะ˜ะ˜_UUID1");

เชฎเชฒเซเชŸเชฟเชฎเซ‡เชช เชฆเชฐเซ‡เช• เชธเชฌเซเชธเซเช•เซเชฐเชฟเชชเซเชถเชจ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชจ เชนเชคเซ€ เชคเซเชฏเชพเชฐเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช…เชฎเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช•เซ‡ เช…เชฎเซ‡ เชจเช•เชถเซ‹ เชถเชฐเซ‚ เช•เชฐเซ€เชถเซเช‚ , เช•เซ€ เชธเชฌเซเชธเซเช•เซเชฐเชฟเชชเซเชถเชจเชจเซเช‚ เชจเชพเชฎ เชนเชถเซ‡, เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชธเชคเซเชฐ เช“เชณเช–เช•เชฐเซเชคเชพ เชนเชถเซ‡ (เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชคเชฎเซ‡ เชชเช›เซ€ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช“เชณเช–เช•เชฐเซเชคเชพเช“ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹).

public void join(Authentication auth, String sub) {
    addValueToMap(sub, auth.getSessionId());
}

public void leave(Authentication auth, String sub) { 
    removeValueFromMap(sub, auth.getSessionId());
}

เชšเชพเชฐเซเชŸเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เชฅเชฏเซ‹ เช›เซ‡.

เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ 1C เชฎเชพเชŸเซ‡ เชนเชพเช‡-เชฒเซ‹เชก เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชธเซ‡เชตเชพ เชฒเช–เซ€: เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช: Java, PostgreSQL, Hazelcast

เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เชตเชฟเชถเซ‡ เช†เชชเชฃเซ‡ เชฌเซ€เชœเซเช‚ เชถเซเช‚ เชถเซ€เช–เซเชฏเชพ?

  1. JSR223 เชจเซ‡ เช—เซเชฐเซเชตเซ€เชฎเชพเช‚ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจ เช•เซ‡เชถ เชถเชพเชฎเซ‡เชฒ เช›เซ‡ - เชคเซ‡ เช–เซ‚เชฌ เชเชกเชชเซ€ เช›เซ‡. เช•เชกเซ€.
  2. Jmeter-Plugins เช—เซเชฐเชพเชซ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช•เชฐเชคเชพเช‚ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชธเชฐเชณ เช›เซ‡. เช•เชกเซ€.

เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชธเชพเชฅเซ‡เชจเชพ เช…เชฎเชพเชฐเชพ เช…เชจเซเชญเชต เชตเชฟเชถเซ‡

เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชเช• เชจเชตเซเช‚ เช‰เชคเซเชชเชพเชฆเชจ เชนเชคเซเช‚, เช…เชฎเซ‡ เช†เชตเซƒเชคเซเชคเชฟ 3.4.1 เชฅเซ€ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชนเชตเซ‡ เช…เชฎเชพเชฐเซเช‚ เช‰เชคเซเชชเชพเชฆเชจ เชธเชฐเซเชตเชฐ เชธเช‚เชธเซเช•เชฐเชฃ 3.9.2 เชšเชฒเชพเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ (เชฒเซ‡เช–เชจ เชธเชฎเชฏเซ‡, เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซเช‚ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃ 3.10 เช›เซ‡).

เช†เชˆเชกเซ€ เชœเชจเชฐเซ‡เชถเชจ

เช…เชฎเซ‡ เชชเซ‚เชฐเซเชฃเชพเช‚เช• เช“เชณเช–เช•เชฐเซเชคเชพเช“ เชธเชพเชฅเซ‡ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€. เชšเชพเชฒเซ‹ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€เช เช•เซ‡ เชจเชตเซ€ เชเชจเซเชŸเชฟเชŸเซ€ เชฎเชพเชŸเซ‡ เช†เชชเชฃเชจเซ‡ เชฌเซ€เชœเชพ เชฒเชพเช‚เชฌเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช•เซเชฐเชฎ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€, เช•เซ‹เชทเซเชŸเช•เซ‹ เชถเชพเชฐเซเชกเชฟเช‚เช—เชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เช›เซ‡ - เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ DB1 เชฎเชพเช‚ เชเช• เชธเช‚เชฆเซ‡เชถ ID=1 เช…เชจเซ‡ DB1 เชฎเชพเช‚ เชเช• เชธเช‚เชฆเซ‡เชถ ID=2 เช›เซ‡, เชคเชฎเซ‡ เช† ID เชจเซ‡ Elasticsearchเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เชจ เชคเซ‹ Hazelcast เชฎเชพเช‚ , เชชเชฐเช‚เชคเซ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชฌเชพเชฌเชค เช เช›เซ‡ เช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เชฌเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ‡ เชเช•เชฎเชพเช‚ เชœเซ‹เชกเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹เชต (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช† เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเซเชธ เชฎเชพเชŸเซ‡ เชเช• เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเซ‚เชฐเชคเซ‹ เช›เซ‡ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚). เชคเชฎเซ‡ Hazelcast เชฎเชพเช‚ เช˜เชฃเชพ AtomicLongs เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชเช• เช•เชพเช‰เชจเซเชŸเชฐ เชฐเชพเช–เซ€ เชถเช•เซ‹ เช›เซ‹, เชชเช›เซ€ เชจเชตเซ€ ID เชฎเซ‡เชณเชตเชตเชพเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เช incrementAndGet เช‰เชชเชฐเชพเช‚เชค Hazelcast เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชธเชฎเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชชเชพเชธเซ‡ เช•เช‚เชˆเช• เชตเชงเซ เชถเซเชฐเซ‡เชทเซเช  เช›เซ‡ - FlakeIdGenerator. เชฆเชฐเซ‡เช• เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ‹ เชธเช‚เชชเชฐเซเช• เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡เชฎเชจเซ‡ ID เชถเซเชฐเซ‡เชฃเซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเชฅเชฎ - 1 เชฅเซ€ 10 เชธเซเชงเซ€, เชฌเซ€เชœเซ€ - 000 เชฅเซ€ 10 เชธเซเชงเซ€, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ. เชนเชตเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเซ‡เชจเซ‡ เชœเชพเชฐเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฐเซ‡เชจเซเชœ เชธเชฎเชพเชชเซเชค เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเซ‡เชจเซ€ เชœเชพเชคเซ‡ เชœ เชจเชตเชพ เช“เชณเช–เช•เชฐเซเชคเชพเช“ เชœเชพเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡ เชเชกเชชเชฅเซ€ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ (เช…เชจเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เช•เซเชฒเชพเชฏเช‚เชŸ) เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ‹ เช›เซ‹ เชคเซเชฏเชพเชฐเซ‡ เชเช• เชจเชตเซ‹ เช•เซเชฐเชฎ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ - เชคเซ‡เชฅเซ€ เชคเซ‡ เช›เซ‹เชกเซ‡ เช›เซ‡, เชตเช—เซ‡เชฐเซ‡. เชตเชงเซเชฎเชพเช‚, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช–เชฐเซ‡เช–เชฐ เชธเชฎเชœเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เช•เซ‡ ID เชถเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเซเชฃเชพเช‚เช• เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชเชŸเชฒเชพ เช…เชธเช‚เช—เชค เช›เซ‡. เช…เชฎเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซเช‚ เชตเชœเชจ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ UUID เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚.

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชœเซ‡เช“ Twitter เชœเซ‡เชตเชพ เชฌเชจเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡, เชคเซเชฏเชพเช‚ เช†เชตเซ€ เชธเซเชจเซ‹เช•เชพเชธเซเชŸ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช›เซ‡ - เช† เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซ€ เชŸเซ‹เชš เชชเชฐ เชธเซเชจเซ‹เชตเชซเซเชฒเซ‡เช•เชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช›เซ‡. เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช…เชนเซ€เช‚ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹:

github.com/noctarius/snowcast
github.com/twitter/snowflake

เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชนเชตเซ‡ เชคเซ‡เชจเซ€ เช†เชธเชชเชพเชธ เช—เชฏเชพ เชจเชฅเซ€.

TransactionalMap.replace

เชฌเซ€เชœเซเช‚ เช†เชถเซเชšเชฐเซเชฏ: TransactionalMap.replace เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช…เชนเซ€เช‚ เชเช• เชชเชฐเซ€เช•เซเชทเชฃ เช›เซ‡:

@Test
public void replaceInMap_putsAndGetsInsideTransaction() {

    hazelcastInstance.executeTransaction(context -> {
        HazelcastTransactionContextHolder.setContext(context);
        try {
            context.getMap("map").put("key", "oldValue");
            context.getMap("map").replace("key", "oldValue", "newValue");
            
            String value = (String) context.getMap("map").get("key");
            assertEquals("newValue", value);

            return null;
        } finally {
            HazelcastTransactionContextHolder.clearContext();
        }        
    });
}

Expected : newValue
Actual : oldValue

เชฎเชจเซ‡ getForUpdate เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชฌเชฆเชฒเชตเซเช‚ เชฒเช–เชตเซเช‚ เชชเชกเซเชฏเซเช‚:

protected <K,V> boolean replaceInMap(String mapName, K key, V oldValue, V newValue) {
    TransactionalTaskContext context = HazelcastTransactionContextHolder.getContext();
    if (context != null) {
        log.trace("[CACHE] Replacing value in a transactional map");
        TransactionalMap<K, V> map = context.getMap(mapName);
        V value = map.getForUpdate(key);
        if (oldValue.equals(value)) {
            map.put(key, newValue);
            return true;
        }

        return false;
    }
    log.trace("[CACHE] Replacing value in a not transactional map");
    IMap<K, V> map = hazelcastInstance.getMap(mapName);
    return map.replace(key, oldValue, newValue);
}

เชฎเชพเชคเซเชฐ เชจเชฟเชฏเชฎเชฟเชค เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชœ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเชพ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซเช‚ เชชเชฃ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‹. เชเชตเซเช‚ เชฌเชจเซ‡ เช›เซ‡ เช•เซ‡ IMap เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ TransactionalMap เชนเชตเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจเชฅเซ€.

เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชตเชฟเชจเชพ เชจเชตเซ‹ JAR เชฆเชพเช–เชฒ เช•เชฐเซ‹

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

IMap<UUID, Application> map = hazelcastInstance.getMap("application");
map.set(id, application);

เชšเชฟเชคเชฎเซ‡:

IMap<UUID, Application> map = hazelcastInstance.getMap("application");
return map.get(id);

เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. เชชเช›เซ€ เช…เชฎเซ‡ เช†เชจเชพ เชฆเซเชตเชพเชฐเชพ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชฎเชพเช‚ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚:

map.addIndex("subscriberId", false);

เช…เชจเซ‡ เชจเชตเซ€ เชเชจเซเชŸเชฟเชŸเซ€ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡เช“เชจเซ‡ ClassNotFoundException เชชเซเชฐเชพเชชเซเชค เชฅเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เชฅเชฏเซเช‚. เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เช…เชฎเชพเชฐเชพ เชตเชฐเซเช— เชตเชฟเชถเซ‡ เช•เช‚เชˆ เชœเชพเชฃเชคเซ‹ เชจ เชนเชคเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช† เชตเชฐเซเช— เชธเชพเชฅเซ‡เชจเซ‹ JAR เชชเซ‚เชฐเซ‹ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‡เชตเซเช‚ เช‡เชšเซเช›เชคเชพ เชนเชคเชพ. เช…เชฎเซ‡ เชคเซ‡ เชœ เช•เชฐเซเชฏเซเช‚, เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚, เชชเชฐเช‚เชคเซ เชเช• เชจเชตเซ€ เชธเชฎเชธเซเชฏเชพ เชฆเซ‡เช–เชพเชˆ: เช•เซเชฒเชธเซเชŸเชฐเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฌเช‚เชง เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ JAR เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเซเช‚? เชจเซ‹เชก-เชฌเชพเชฏ-เชจเซ‹เชก เช…เชชเชกเซ‡เชŸ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เชจเชตเชพ JARเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช† เชฌเชฟเช‚เชฆเซเช เช…เชฎเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช•เซ‡ เช…เชฎเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เชถเซ‹เชง เชตเชฟเชจเชพ เชœเซ€เชตเซ€ เชถเช•เซ€เช เช›เซ€เช. เช›เซ‡เชตเชŸเซ‡, เชœเซ‹ เชคเชฎเซ‡ เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐ เชคเชฐเซ€เช•เซ‡ เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเชถเซ‡? เช–เชฐเซ‡เช–เชฐ เชจเชฅเซ€. เช…เชนเซ€เช‚ เชซเชฐเซ€เชฅเซ€ IMap เช…เชจเซ‡ TransactionalMap เชจเซเช‚ เชตเชฐเซเชคเชจ เช…เชฒเช— เช›เซ‡. เชœเซเชฏเชพเช‚ IMap เช•เชพเชณเชœเซ€ เชฒเซ‡เชคเซเช‚ เชจเชฅเซ€, เชคเซเชฏเชพเช‚ TransactionalMap เชเช• เชญเซ‚เชฒ เชซเซ‡เช‚เช•เซ‡ เช›เซ‡.

IMap. เช…เชฎเซ‡ 5000 เชตเชธเซเชคเซเช“ เชฒเช–เซ€เช เช›เซ€เช, เชคเซ‡เชฎเชจเซ‡ เชตเชพเช‚เชšเซ€เช เช›เซ€เช. เชฌเชงเซเช‚ เช…เชชเซ‡เช•เซเชทเชฟเชค เช›เซ‡.

@Test
void get5000() {
    IMap<UUID, Application> map = hazelcastInstance.getMap("application");
    UUID subscriberId = UUID.randomUUID();

    for (int i = 0; i < 5000; i++) {
        UUID id = UUID.randomUUID();
        String title = RandomStringUtils.random(5);
        Application application = new Application(id, title, subscriberId);
        
        map.set(id, application);
        Application retrieved = map.get(id);
        assertEquals(id, retrieved.getId());
    }
}

เชชเชฐเช‚เชคเซ เชคเซ‡ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เช…เชฎเชจเซ‡ ClassNotFoundException เชฎเชณเซ‡ เช›เซ‡:

@Test
void get_transaction() {
    IMap<UUID, Application> map = hazelcastInstance.getMap("application_t");
    UUID subscriberId = UUID.randomUUID();
    UUID id = UUID.randomUUID();

    Application application = new Application(id, "qwer", subscriberId);
    map.set(id, application);
    
    Application retrievedOutside = map.get(id);
    assertEquals(id, retrievedOutside.getId());

    hazelcastInstance.executeTransaction(context -> {
        HazelcastTransactionContextHolder.setContext(context);
        try {
            TransactionalMap<UUID, Application> transactionalMap = context.getMap("application_t");
            Application retrievedInside = transactionalMap.get(id);

            assertEquals(id, retrievedInside.getId());
            return null;
        } finally {
            HazelcastTransactionContextHolder.clearContext();
        }
    });
}

3.8 เชฎเชพเช‚, เชฏเซเชเชฐ เช•เซเชฒเชพเชธ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชฆเซ‡เช–เชพเชฏเซเช‚. เชคเชฎเซ‡ เชเช• เชฎเชพเชธเซเชŸเชฐ เชจเซ‹เชก เชจเชฟเชฏเซเช•เซเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ JAR เชซเชพเช‡เชฒ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

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

เช…เชฎเซ‡ เช‰เชšเซเชš เชชเซเชฐเชฆเชฐเซเชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ€เช เช›เซ€เช

เชนเซ‡เชเชฒเช•เชพเชธเซเชŸเชจเซ€ เชšเชพเชฐ เชธเชซเชฐ - เชธเชพเชฐเซ€, เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฌเซ‡ - เช–เชฐเชพเชฌ

เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชถเชฎเชพเช‚ เชœเชตเซเช‚ เช เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชœเชตเชพ เช•เชฐเชคเชพเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชจ เชตเชชเชฐเชพเชฏเซ‡เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชชเชฃ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€. เช…เชฎเซ‡ เชตเชฟเช•เชพเชธเชจเชพ เช›เซ‡เชฒเซเชฒเชพ เชคเชฌเช•เซเช•เชพ เชธเซเชงเซ€ เชถเซเช‚ เช•เซ‡เชถ เช•เชฐเชตเซเช‚ เชคเซ‡ เช…เช‚เช—เซ‡ เชจเชฟเชฐเซเชฃเชฏ เช›เซ‹เชกเซ€เช เช›เซ€เช. เชœเซเชฏเชพเชฐเซ‡ เชจเชตเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เช•เซ‹เชกเซ‡เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ PostgreSQL (log_min_duration_statement to 0) เชฎเชพเช‚ เชคเชฎเชพเชฎ เช•เซเชตเซ‡เชฐเซ€เชเชจเซเช‚ เชฒเซ‹เช—เชฟเช‚เช— เชšเชพเชฒเซ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ 20 เชฎเชฟเชจเชฟเชŸ เชฎเชพเชŸเซ‡ เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เชšเชฒเชพเชตเซ€เช เช›เซ€เช. เชเช•เชคเซเชฐเชฟเชค เชฒเซ‰เช—เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, pgFouine เช…เชจเซ‡ pgBadger เชœเซ‡เชตเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชพเชคเซเชฎเช• เช…เชนเซ‡เชตเชพเชฒเซ‹ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชนเซ‡เชตเชพเชฒเซ‹เชฎเชพเช‚, เช…เชฎเซ‡ เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เชงเซ€เชฎเซ€ เช…เชจเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐเชจเซ€ เช•เซเชตเซ‡เชฐเซ€ เชถเซ‹เชงเซ€เช เช›เซ€เช. เชงเซ€เชฎเซ€ เช•เซเชตเซ‡เชฐเซ€ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชชเซเชฒเชพเชจ เชฌเชจเชพเชตเซ€เช เช›เซ€เช (EXPLAIN) เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เช†เชตเซ€ เช•เซเชตเซ‡เชฐเซ€ เชเชกเชชเซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ. เชธเชฎเชพเชจ เช‡เชจเชชเซเชŸ เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เช•เซ‡เชถเชฎเชพเช‚ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฌเช‚เชงเชฌเซ‡เชธเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชชเซเชฐเชถเซเชจเซ‹เชจเซ‡ โ€œเชธเชชเชพเชŸโ€ เชฐเชพเช–เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช เช›เซ€เช, เช•เซเชตเซ‡เชฐเซ€ เชฆเซ€เช  เชเช• เชŸเซ‡เชฌเชฒ.

เชถเซ‹เชทเชฃ

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

เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เชเช• เชตเชฐเซเชทเชฅเซ€ เชตเชงเซ เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชธเซ€เชฌเซ€ เช“เชจเชฒเชพเชˆเชจ เชธเซ‡เชตเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เช•เซ‹เชˆ เช—เช‚เชญเซ€เชฐ เชธเชฎเชธเซเชฏเชพ เช†เชตเซ€ เชจเชฅเซ€. เชฆเซเชตเชพเชฐเชพ เช…เชฎเซ‡ เช“เชจเชฒเชพเชˆเชจ เชธเซ‡เชตเชพ เชชเชฐ เชจเชœเชฐ เชฐเชพเช–เซ€เช เช›เซ€เช เชเชฌเซเชฌเซ€เช•เซเชธ, เชฎเชพเช‚เชฅเซ€ เชเช•เชคเซเชฐเชฟเชค เช…เชจเซ‡ เชœเชฎเชพเชตเชŸ เชตเชพเช‚เชธ.

SV เชธเชฐเซเชตเชฐ เชตเชฟเชคเชฐเชฃ เชฎเซ‚เชณ เชชเซ‡เช•เซ‡เชœเซ‹เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: RPM, DEB, MSI. เชชเซเชฒเชธ เชตเชฟเชจเซเชกเซ‹เช เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชธเชฟเช‚เช—เชฒ EXE เชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชธเชฟเช‚เช—เชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒเชฐ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡ เชเช• เชฎเชถเซ€เชจ เชชเชฐ เชธเชฐเซเชตเชฐ, เชนเซ‡เชเชฒเช•เชพเชธเซเชŸ เช…เชจเซ‡ เช‡เชฒเชพเชธเซเชŸเชฟเช•เชธเชฐเซเชš เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชจเชพ เช† เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ "เชกเซ‡เชฎเซ‹" เชธเช‚เชธเซเช•เชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช† เชธเซŒเชฅเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชœเชฎเชพเชตเชŸ เชตเชฟเช•เชฒเซเชช เช›เซ‡.

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

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