แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ’แƒแƒœแƒ•แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ˜แƒ— แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ โ€“ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒกแƒ แƒ“แƒ 1C:Enterprise แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก - แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒกแƒ แƒ“แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ–แƒ” แƒคแƒ˜แƒฅแƒ แƒแƒ›แƒ“แƒ”.

แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ (แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒจแƒ˜ SV) แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒฃแƒšแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ—. SV แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒฃแƒ แƒแƒ‘แƒ˜แƒ—, แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒแƒœแƒšแƒแƒ˜แƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— (แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ 1C-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ ) แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”.

SV แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒš แƒกแƒแƒชแƒแƒ•แƒก แƒ—แƒฎแƒ˜แƒšแƒ˜ แƒ“แƒ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ”แƒšแƒแƒกแƒขแƒ˜แƒฃแƒ แƒ˜ แƒซแƒ”แƒ‘แƒœแƒ. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— Java-แƒ–แƒ” แƒ“แƒ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒแƒคแƒแƒ แƒ—แƒแƒ•แƒแƒ— PostgreSQL แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“.
แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ—แƒฃ แƒ แƒแƒขแƒแƒ› แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ›แƒ” แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ— แƒชแƒแƒขแƒแƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ 1C-แƒจแƒ˜.

แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒชแƒแƒขแƒ แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ  แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— :) แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ— 1C:Enterprise แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ  แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒก. แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒแƒฌแƒแƒ แƒ›แƒแƒแƒœ แƒ™แƒ แƒแƒก-แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒฃแƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜.

แƒ™แƒšแƒ˜แƒ”แƒœแƒข-แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ“แƒ˜แƒ’แƒ›แƒ

1C:Enterprise-แƒ–แƒ” แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒแƒ› แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ โ€žDBMS โ€“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ โ€“ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜โ€œ. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ 1C แƒ”แƒœแƒ, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ–แƒ”. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ—แƒแƒœ (แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒ˜, แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ.แƒจ.) แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒ, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒก, แƒ’แƒแƒฎแƒกแƒœแƒแƒก แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒแƒก, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒแƒœ โ€žแƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกโ€œ (แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜...), แƒ›แƒชแƒ˜แƒ แƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒก แƒคแƒแƒ แƒ›แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒœ แƒกแƒฌแƒ แƒแƒค แƒžแƒแƒกแƒฃแƒฎแƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒคแƒแƒกแƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ–แƒ” แƒ’แƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ‘แƒ), แƒšแƒแƒ™แƒแƒšแƒฃแƒ  แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒแƒฆแƒญแƒฃแƒ แƒ•แƒ˜แƒšแƒแƒ‘แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒจแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒจแƒ˜ แƒชแƒแƒšแƒกแƒแƒฎแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ—แƒฃ แƒกแƒแƒ“ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒ˜ - &AtClient / &AtServer แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (&AtClient / &AtServer แƒ”แƒœแƒ˜แƒก แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ  แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜). 1C แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒฎแƒšแƒ แƒจแƒ”แƒ›แƒ˜แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ”แƒœ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒ”แƒขแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒแƒฎแƒšแƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜.

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ แƒ”แƒ™แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒคแƒฃแƒœแƒ“แƒแƒ›แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒ–แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒซแƒแƒฎแƒ”แƒ‘แƒฃแƒšแƒ˜ - แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒ—แƒฃ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ. แƒฎแƒแƒšแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒกแƒ”แƒ—แƒ˜, แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ“แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ›แƒแƒก แƒ“แƒแƒฃแƒ แƒ”แƒ™แƒ, แƒจแƒ”แƒ”แƒซแƒšแƒ แƒ“แƒแƒฎแƒฃแƒ แƒแƒก, แƒ’แƒแƒกแƒฃแƒšแƒ˜แƒงแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒแƒฆแƒแƒ  แƒ”แƒงแƒแƒšแƒ”แƒ‘แƒ แƒ•แƒ˜แƒœแƒ›แƒ” แƒ“แƒแƒกแƒแƒ แƒ”แƒ™แƒแƒ“.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast
แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒ–แƒ” แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒแƒก: แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒกแƒ’แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก, แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ แƒแƒ แƒ

แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒ› "แƒ’แƒ แƒซแƒ”แƒšแƒ•แƒแƒ“แƒ˜แƒแƒœแƒ˜" แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒชแƒ˜แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ แƒ“แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒ˜.

แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒแƒขแƒ”แƒšแƒ”แƒคแƒแƒœแƒ แƒ–แƒแƒ แƒ˜ แƒ›แƒแƒ“แƒ˜แƒก SIP- แƒ–แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒจแƒ”แƒแƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ—แƒ แƒ›แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜, แƒ แƒแƒ—แƒ แƒ˜แƒžแƒแƒ•แƒแƒก แƒ˜แƒ’แƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒ’แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒ’แƒ”แƒœแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒแƒœ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒ›แƒแƒ•แƒ แƒกแƒแƒฌแƒงแƒแƒ‘แƒจแƒ˜, แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒชแƒœแƒแƒ‘แƒ”แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒแƒ แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒ’แƒแƒ›แƒแƒ“แƒ’แƒ”แƒ‘แƒ.

แƒ—แƒแƒ•แƒแƒ“ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜. แƒกแƒฌแƒ แƒแƒคแƒ˜, แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ, แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒแƒ“ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒ—. แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— แƒ›แƒ”แƒกแƒ˜แƒœแƒฏแƒ”แƒ แƒ˜ (แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ•แƒ˜แƒ“แƒ”แƒ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 1C แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜.

แƒจแƒ”แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ˜แƒงแƒแƒก. แƒ›แƒ–แƒแƒ แƒ“แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒคแƒแƒ แƒแƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒ—.

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

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ—, แƒ แƒแƒ› แƒแƒ  แƒ’แƒแƒ’แƒ•แƒ”แƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒœแƒ SV แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  1C:Enterprise แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒจแƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒ— แƒ˜แƒ’แƒ˜ แƒชแƒแƒšแƒ™แƒ”แƒฃแƒš แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒแƒ“, แƒ แƒแƒ›แƒšแƒ˜แƒก API แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ แƒ”แƒ™แƒแƒ— 1C แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ. แƒ”แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒ’แƒแƒœ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ˜แƒงแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ›แƒ” แƒ›แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ’แƒแƒ›แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒชแƒ•แƒšแƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ 1C แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ•แƒแƒญแƒ แƒแƒ‘แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ›แƒ”แƒœแƒขแƒกแƒ แƒ“แƒ แƒ‘แƒฃแƒฆแƒแƒšแƒขแƒ แƒฃแƒš แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒแƒก แƒจแƒแƒ แƒ˜แƒก). แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ 1C แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒœ 1C:Enterprise แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”, แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ.แƒจ. แƒแƒกแƒ”แƒ— แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒจแƒ˜, SV-แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก 1C แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก โ€žแƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—โ€œ แƒแƒ แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— SV แƒ’แƒแƒ’แƒ•แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒชแƒแƒšแƒ™แƒ” แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ—, แƒ แƒแƒ› แƒ›แƒชแƒ˜แƒ แƒ” แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒ›แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ CB แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ (wss://1cdialog.com), แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒœ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ  แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ. แƒ›แƒกแƒฎแƒ•แƒ˜แƒš แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ–แƒแƒœแƒจแƒ”แƒฌแƒแƒœแƒ˜แƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒœแƒ”แƒœ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ CB แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ— แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ SaaS แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒจแƒ˜ 1cFresh - แƒ˜แƒก แƒ˜แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ–แƒ” แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ https://1cfresh.com/.

แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก

แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒแƒ แƒ แƒ”แƒ แƒ— Java แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ”, แƒ›แƒแƒ— แƒฌแƒ˜แƒœ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒ—. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒ“แƒแƒœ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ/แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ Hazelcast-แƒจแƒ˜.

แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒแƒ“ แƒจแƒ”แƒ”แƒคแƒ”แƒ แƒ”แƒ‘แƒ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒก.

แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜

แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— Redis, Hazelcast แƒ“แƒ Ehcache-แƒก แƒจแƒแƒ แƒ˜แƒก. 2015 แƒฌแƒ”แƒšแƒ˜แƒ. แƒ แƒ”แƒ“แƒ˜แƒกแƒ›แƒ แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ’แƒแƒ›แƒแƒฃแƒจแƒ•แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ (แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ“ แƒแƒฎแƒแƒšแƒ˜, แƒกแƒแƒจแƒ˜แƒœแƒ”แƒšแƒ˜), แƒแƒ แƒ˜แƒก Sentinel แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒ—. Ehcache-แƒ› แƒแƒ  แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒ™แƒ แƒ˜แƒ‘แƒแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ (แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ). แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ”แƒชแƒแƒ“แƒ แƒ˜แƒก Hazelcast 3.4-แƒ˜แƒ—.
Hazelcast แƒ˜แƒ™แƒ แƒ˜แƒ‘แƒ”แƒ‘แƒ แƒ™แƒแƒกแƒ”แƒขแƒฃแƒ แƒแƒ“ แƒงแƒฃแƒ—แƒ˜แƒ“แƒแƒœ. แƒ”แƒ แƒ—แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒแƒ›แƒแƒกแƒแƒ“แƒ”แƒ’แƒ˜ แƒ“แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฅแƒ”แƒจแƒแƒ“ - แƒ›แƒแƒœ แƒแƒ  แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒแƒ’แƒ“แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”, แƒ—แƒฃ แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ• แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ— แƒ™แƒ•แƒแƒœแƒซแƒก, แƒ™แƒแƒ แƒ’แƒแƒ• แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” Hazelcast-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒจแƒแƒ แƒ˜แƒกแƒแƒช แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ™แƒ แƒ˜แƒขแƒ˜แƒ™แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒฅแƒ”แƒจแƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒก - แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒแƒฌแƒฃแƒฎแƒ”แƒ‘แƒก แƒ”แƒก.

แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก Hazelcast แƒแƒ แƒ˜แƒก:

  • แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ. แƒงแƒแƒ•แƒ”แƒš แƒฏแƒ”แƒ แƒ–แƒ” แƒกแƒ”แƒกแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒฌแƒแƒกแƒ•แƒšแƒแƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒกแƒ˜แƒแƒก แƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— Hazelcast-แƒจแƒ˜.
  • แƒฅแƒ”แƒจแƒ˜. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ”แƒซแƒ”แƒ‘แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒ แƒแƒคแƒ˜แƒšแƒก, แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒฅแƒ”แƒจแƒ˜. แƒ“แƒแƒฌแƒ”แƒ แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ”แƒกแƒ˜แƒฏแƒ˜ - แƒฉแƒแƒ“แƒ”แƒ— แƒฅแƒ”แƒจแƒจแƒ˜.
  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒ“แƒ แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒก แƒ›แƒแƒก Hazelcast แƒ—แƒ”แƒ›แƒแƒจแƒ˜. แƒแƒ› แƒ—แƒ”แƒ›แƒแƒ–แƒ” แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒ”แƒœ แƒ“แƒ แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒแƒก.
  • แƒ™แƒแƒกแƒ”แƒขแƒฃแƒ แƒ˜ แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒแƒก แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ 1C แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜):

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

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

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

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

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—, แƒ แƒแƒ› แƒแƒ แƒฎแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก. แƒแƒ•แƒ˜แƒฆแƒ”แƒ— แƒกแƒแƒ™แƒ”แƒขแƒ˜, แƒ˜แƒกแƒ”แƒ• แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ—. แƒ—แƒฃ แƒกแƒแƒ™แƒ”แƒขแƒก แƒแƒ  แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒ แƒ˜แƒก แƒจแƒแƒœแƒกแƒ˜, แƒ แƒแƒ› แƒกแƒฎแƒ•แƒ แƒ—แƒ”แƒ›แƒแƒช แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ“แƒ”แƒก แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒ“แƒ แƒแƒฎแƒšแƒ แƒจแƒ”แƒ”แƒชแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ - แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฉแƒแƒ™แƒ”แƒขแƒแƒ— แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒœ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ java Lock-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— - แƒ”แƒก แƒœแƒ”แƒšแƒ˜แƒ แƒ“แƒ แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก; Hazelcast-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒช แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—.

DBMS-แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก PostgreSQL-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒแƒ› DBMS-แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ—แƒแƒœ แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ.

แƒ”แƒก แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ—แƒแƒœ - แƒแƒ แƒ˜แƒก XL, XC, แƒชแƒ˜แƒขแƒฃแƒกแƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ›, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก NoSQL-แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒ”แƒœ. แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ›แƒ˜แƒ•แƒ˜แƒฉแƒœแƒ˜แƒ”แƒ— NoSQL แƒ›แƒ—แƒแƒ•แƒแƒ  แƒกแƒแƒชแƒแƒ•แƒแƒ“; แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒแƒ•แƒ˜แƒฆแƒ”แƒ— Hazelcast, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ—แƒแƒœแƒแƒช แƒแƒฅแƒแƒ›แƒ“แƒ” แƒแƒ  แƒ’แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ˜แƒ.

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ แƒ”แƒšแƒแƒชแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ“แƒแƒฅแƒฃแƒชแƒ›แƒแƒชแƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, sharding-แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ•แƒงแƒแƒคแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒชแƒแƒšแƒ™แƒ”แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒแƒ“, แƒ แƒแƒ—แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒชแƒแƒšแƒ™แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”.

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒจแƒšแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒžแƒแƒ แƒชแƒ˜แƒ˜แƒ—. A แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒ - แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒแƒ— แƒแƒ› แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ B แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒ”แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒงแƒ•แƒ˜แƒ แƒแƒ“แƒ แƒœแƒแƒแƒ“แƒ แƒ”แƒ•แƒ˜ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ›แƒแƒ•แƒ˜แƒคแƒแƒ แƒ’แƒšแƒแƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒ‘แƒ˜แƒœแƒ˜แƒแƒœแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒ—.

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ‘แƒ˜แƒœแƒ˜แƒแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ–แƒ” แƒชแƒ˜แƒขแƒฃแƒกแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜.

SV-แƒก แƒแƒฅแƒ•แƒก แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ“แƒ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒชแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ ERP แƒแƒœ Accounting, แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒœ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒžแƒ˜แƒ แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ—แƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ SV แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ“แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒชแƒ•แƒšแƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ. แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒแƒ˜แƒฏแƒแƒ แƒ” แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜. แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒ”แƒ แƒ— แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜; แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ›แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒ“แƒ˜แƒ“แƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ— แƒ›แƒแƒก แƒชแƒแƒšแƒ™แƒ” แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ (แƒแƒœ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒชแƒแƒšแƒ™แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”).

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒกแƒแƒ“แƒแƒช แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast

แƒ˜แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒแƒ  แƒ˜แƒงแƒแƒก แƒ‘แƒแƒ—แƒšแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒก (แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก) แƒฅแƒ”แƒจแƒจแƒ˜.

แƒ—แƒฃ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒจแƒ”แƒœแƒ”แƒšแƒ”แƒ‘แƒแƒก แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒก, แƒ›แƒแƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ“แƒแƒ•แƒญแƒ แƒ˜แƒ— แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ”แƒ‘แƒแƒ“. แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ–แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— pg_pathman.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ แƒชแƒฃแƒ“แƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒ—. แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ“แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒ˜แƒ–แƒฆแƒ•แƒ˜แƒแƒ— แƒ—แƒแƒ•แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜. แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ•แƒ”แƒ  แƒฎแƒ”แƒ แƒฎแƒ“แƒ”แƒ‘แƒ.

แƒ—แƒฃ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ, แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜.
แƒ—แƒฃ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ, แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒฎแƒแƒšแƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ.

Elastics-แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒšแƒแƒ“

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ, แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, SV แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ›แƒ”แƒกแƒ˜แƒœแƒฏแƒ”แƒ แƒ˜, แƒ˜แƒก แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒกแƒฌแƒ แƒแƒค, แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒš แƒ“แƒ แƒ›แƒแƒฅแƒœแƒ˜แƒš แƒซแƒ˜แƒ”แƒ‘แƒแƒก, แƒ›แƒแƒ แƒคแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ แƒแƒ–แƒฃแƒกแƒขแƒ˜ แƒจแƒ”แƒกแƒแƒขแƒงแƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒแƒ  แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ”แƒ’แƒแƒœแƒ แƒ‘แƒแƒ แƒ‘แƒแƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒฃแƒคแƒแƒกแƒ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ Elasticsearch, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” แƒšแƒฃแƒกแƒ”แƒœแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— Elasticsearch-แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ (แƒ›แƒแƒกแƒขแƒ”แƒ  - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜) แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ›แƒแƒกแƒแƒคแƒฎแƒ•แƒ แƒ”แƒšแƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

github-แƒ–แƒ” แƒ•แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒ แƒฃแƒกแƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒคแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜ Elasticsearch-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ˜แƒ’แƒ˜. Elasticsearch แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜ แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒคแƒ”แƒกแƒ•แƒ”แƒ‘แƒก (แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก) แƒ“แƒ N-แƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒก. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒจแƒ”แƒแƒฅแƒ•แƒก แƒขแƒ”แƒฅแƒกแƒขแƒก แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒแƒ™แƒ แƒ”แƒคแƒ˜แƒš แƒขแƒ”แƒฅแƒกแƒขแƒก N-แƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒกแƒแƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ โ€žแƒขแƒ”แƒฅแƒกแƒขแƒ”แƒ‘แƒ˜โ€œ แƒ“แƒแƒ˜แƒงแƒแƒคแƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ N-แƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒแƒ“:

[แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒขแƒ”แƒ™, แƒขแƒ”แƒฅแƒกแƒ˜, แƒขแƒ”แƒฅแƒกแƒขแƒ˜, แƒขแƒ”แƒฅแƒกแƒขแƒ”แƒ‘แƒ˜, แƒ”แƒ™, แƒงแƒแƒคแƒ˜แƒšแƒ˜, แƒ”แƒฅแƒกแƒข, แƒขแƒ”แƒฅแƒกแƒขแƒ”แƒ‘แƒ˜, แƒ™แƒก, แƒฅแƒก, แƒฅแƒกแƒขแƒ˜, แƒฅ, แƒกแƒขแƒ˜, แƒจแƒ”แƒœ],

แƒ“แƒ แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ โ€žแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒกโ€œ แƒซแƒ˜แƒ แƒ˜แƒช. แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜, แƒจแƒฃแƒแƒจแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒแƒก.

แฒ“แƒ˜แƒ“แƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜

แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast
แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—:

  • แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒšแƒ˜ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜; แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก nginx, แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜.
  • Java แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒœ Hazelcast-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.
  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ•แƒ”แƒ‘ แƒกแƒแƒ™แƒ”แƒขแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒ”แƒ—แƒ˜.
  • Java แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ Java 8-แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ OSGi. แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก Java 10-แƒ–แƒ” แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒแƒก.

แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ

SV-แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฎแƒ•แƒ“แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ”แƒ แƒ— แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒก.

แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒŸแƒแƒœแƒ•แƒ

แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ SV แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก. แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช:

  • แƒขแƒ”แƒกแƒขแƒ›แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ“แƒฆแƒ” แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ  แƒงแƒแƒคแƒ˜แƒšแƒ
  • แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ” แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒแƒ  แƒแƒฆแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒแƒ“แƒ แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒฃแƒš แƒ–แƒฆแƒ•แƒแƒ แƒก
  • แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒแƒ แƒ”แƒกแƒ”แƒ‘แƒ แƒฌแƒ˜แƒœแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒ  แƒแƒ แƒ˜แƒก 10% -แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— - แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ, แƒ•แƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ‘แƒ— แƒ›แƒ˜แƒก แƒœแƒแƒ›แƒ แƒ”แƒ‘แƒก 5-แƒ–แƒ” (แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก, แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ) แƒ“แƒ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒแƒ› แƒ’แƒ–แƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒกแƒแƒ› แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜:

  1. แƒกแƒขแƒ แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜
  2. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜
  3. แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ

แƒกแƒขแƒ แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ“แƒ แƒแƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒกแƒ”แƒฃแƒšแƒ˜ แƒ—แƒ”แƒ›แƒ แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒจแƒ”แƒฃแƒฉแƒ”แƒ แƒ”แƒ‘แƒšแƒแƒ“: แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒ, แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒแƒก (แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒฉแƒ”แƒ›แƒ˜ แƒฌแƒแƒฃแƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ, แƒ›แƒ˜แƒ•แƒฌแƒ”แƒ แƒ” แƒ•แƒ˜แƒœแƒ›แƒ”แƒก) แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ (แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ, แƒ’แƒแƒœแƒ’แƒแƒจแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ).

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒกแƒขแƒ แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜:

  • แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒจแƒ”แƒ“แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜
    • แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒฌแƒแƒฃแƒ™แƒ˜แƒ—แƒฎแƒแƒ• แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ”แƒ‘แƒก
    • 50% แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒก
    • 50% แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒขแƒ”แƒฅแƒกแƒขแƒก
    • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜:
      • แƒแƒฅแƒ•แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก 20% แƒจแƒแƒœแƒกแƒ˜
      • แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒ˜แƒ แƒฉแƒ”แƒ•แƒก แƒ›แƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒแƒก
      • แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ›แƒ˜แƒ“แƒ˜แƒก
      • แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒ แƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒก
      • แƒฅแƒ›แƒœแƒ˜แƒก แƒฎแƒฃแƒ— แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ— แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ˜แƒ“แƒแƒœ
      • แƒขแƒแƒ•แƒ”แƒ‘แƒก แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒแƒก
      • แƒ›แƒ”แƒแƒ แƒ“แƒ”แƒ‘แƒ 20-แƒฏแƒ”แƒ 
      • แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜

    • แƒฉแƒ”แƒ—แƒ‘แƒแƒขแƒ˜ แƒจแƒ”แƒ“แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ (แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ‘แƒแƒซแƒ•แƒ)
      • แƒแƒฅแƒ•แƒก 50% แƒจแƒแƒœแƒกแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒแƒฎแƒแƒšแƒ˜ แƒแƒ แƒฎแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒชแƒ•แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒ)
      • 50% แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒ“แƒแƒฌแƒ”แƒ แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒแƒ แƒฎแƒ–แƒ”

"แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก" แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜ แƒ’แƒแƒฉแƒœแƒ“แƒ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ—. แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ: แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ›แƒ แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒแƒ  แƒฉแƒแƒ”แƒ แƒ—แƒœแƒ”แƒœ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ˜แƒšแƒ˜แƒก 09:00 แƒกแƒแƒแƒ—แƒ–แƒ” แƒ แƒ—แƒแƒ•แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒก, แƒแƒ›แƒงแƒแƒ แƒ”แƒ‘แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ แƒ“แƒ แƒ“แƒฃแƒ›แƒก. แƒ”แƒก แƒ‘แƒ˜แƒญแƒ”แƒ‘แƒ˜ แƒกแƒแƒฎแƒ˜แƒคแƒแƒ—แƒแƒ, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒ - แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒช แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒแƒ แƒ˜แƒก PING/PONG, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ”แƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ (แƒ›แƒแƒ— แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ - แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒแƒฎแƒแƒšแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒ). แƒขแƒ”แƒกแƒขแƒ˜ แƒแƒกแƒแƒฎแƒแƒ•แƒก แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒแƒก แƒœแƒแƒฎแƒ”แƒ•แƒแƒ  แƒกแƒแƒแƒ—แƒจแƒ˜. แƒ”แƒก แƒกแƒขแƒ แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒคแƒแƒ™แƒฃแƒกแƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒ–แƒ”แƒ - แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ (แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜ แƒแƒ  แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒ“แƒ แƒ˜แƒก แƒฃแƒ™แƒ•แƒ” แƒ˜แƒจแƒšแƒ”แƒ‘แƒ - แƒซแƒœแƒ”แƒšแƒ˜แƒ แƒ แƒแƒ˜แƒ›แƒ” แƒฃแƒแƒ แƒ”แƒกแƒ˜แƒก แƒ›แƒแƒคแƒ˜แƒฅแƒ แƒ”แƒ‘แƒ).

แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ—แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒฉแƒแƒ•แƒแƒขแƒแƒ แƒ”แƒ— แƒกแƒขแƒ แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ›แƒ˜แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ  แƒจแƒ”แƒœแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ•แƒ˜แƒ“แƒœแƒ”แƒœ แƒ“แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒขแƒแƒ˜แƒ›แƒแƒฃแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒแƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ— / dev / แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ”แƒœแƒขแƒ แƒแƒžแƒ˜แƒแƒกแƒ—แƒแƒœ. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒแƒ  แƒฐแƒฅแƒแƒœแƒ“แƒ แƒ“แƒ แƒ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ”แƒœแƒขแƒ แƒแƒžแƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒก แƒแƒฎแƒแƒšแƒ˜ SecureRandom, แƒ˜แƒก แƒ’แƒแƒ˜แƒงแƒ˜แƒœแƒ แƒแƒ—แƒแƒ‘แƒ˜แƒ— แƒฌแƒแƒ›แƒ˜แƒ—. แƒแƒ› แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“: แƒ’แƒแƒ“แƒแƒ”แƒ แƒ—แƒ”แƒ— แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ /dev/urandom-แƒ–แƒ”, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒคแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒ”แƒœแƒขแƒ แƒแƒžแƒ˜แƒแƒก, แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒฃแƒ–แƒจแƒ˜. แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒฎแƒฃแƒ แƒ”แƒ— แƒแƒฃแƒ–แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฎแƒแƒšแƒ˜ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ•แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒก แƒฏแƒ›แƒ”แƒขแƒ”แƒ แƒ˜. แƒ›แƒแƒœ แƒแƒ  แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒ’แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก websocket-แƒ—แƒแƒœ, แƒ›แƒแƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "jmeter websocket" แƒแƒ แƒ˜แƒก: แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ BlazeMeter-แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ›แƒแƒ“แƒฃแƒšแƒ˜ Maciej Zaleski-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ .

แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ.

แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”, แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› JMeter-แƒ›แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒŸแƒแƒœแƒ•แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ.

แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ˜ แƒชแƒแƒšแƒ™แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒแƒ›แƒ‘แƒแƒ•แƒ˜แƒ; 176 แƒ•แƒแƒ แƒกแƒ™แƒ•แƒšแƒแƒ•แƒ˜แƒ—, แƒ›แƒแƒก แƒแƒฅแƒ•แƒก 132 แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ github-แƒ–แƒ”. แƒ—แƒแƒ•แƒแƒ“ แƒแƒ•แƒขแƒแƒ แƒก แƒแƒ›แƒ˜แƒก แƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ›แƒ˜แƒฃแƒฆแƒ˜แƒ 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).

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ github-แƒ–แƒ”. แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ—:

  1. แƒแƒ˜แƒฆแƒ”แƒก แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ แƒ”แƒšแƒ˜แƒ แƒแƒœ แƒ™แƒแƒ’แƒแƒœแƒ˜ (@elyrank) โ€“ แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒก 1 แƒ“แƒ 3 แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก
  2. แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ 2
  3. แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒแƒ แƒชแƒ•แƒ˜ 9.2.14-แƒ“แƒแƒœ 9.3.12-แƒ›แƒ“แƒ”
  4. แƒจแƒ”แƒคแƒฃแƒ—แƒฃแƒšแƒ˜ SimpleDateFormat ThreadLocal-แƒจแƒ˜; SimpleDateFormat แƒแƒ  แƒแƒ แƒ˜แƒก แƒซแƒแƒคแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ, แƒ แƒแƒ›แƒแƒช แƒ’แƒแƒœแƒแƒžแƒ˜แƒ แƒแƒ‘แƒ NPE แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก
  5. แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒŸแƒแƒœแƒ•แƒ (แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒ“แƒแƒ˜แƒฎแƒฃแƒ แƒ แƒ’แƒแƒ—แƒ˜แƒจแƒ•แƒ˜แƒกแƒแƒก)

แƒ“แƒ แƒ›แƒแƒ˜แƒœแƒช แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ“แƒ˜แƒœแƒ”แƒ‘แƒ!

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒแƒ แƒ แƒ”แƒ แƒ— แƒ“แƒฆแƒ”แƒจแƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒแƒ แƒจแƒ˜. แƒ“แƒ แƒ แƒแƒฆแƒแƒ  แƒ˜แƒงแƒ แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ—แƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ—แƒฎ แƒแƒ’แƒ”แƒœแƒขแƒ–แƒ”. แƒ”แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒ™แƒ•แƒ˜แƒ แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜.

แƒแƒ แƒ˜ แƒ“แƒฆแƒ” แƒ’แƒแƒ•แƒ˜แƒ“แƒ...

แƒแƒฎแƒšแƒ Hazelcast-แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒแƒ›แƒแƒ”แƒฌแƒฃแƒ แƒ. แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ›แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ, แƒ แƒแƒ› แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ“แƒฆแƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฐแƒ”แƒ–แƒ”แƒšแƒ™แƒแƒกแƒขแƒ›แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒฉแƒ˜แƒ•แƒ˜แƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒแƒ–แƒ” แƒ“แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ“แƒแƒ˜แƒจแƒแƒšแƒ แƒ“แƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ แƒกแƒแƒ—แƒ˜แƒ—แƒแƒแƒ“ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒแƒ‘แƒ“แƒœแƒ”แƒœ แƒกแƒ˜แƒ™แƒ•แƒ“แƒ˜แƒšแƒก. แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ— JVisualVM hazelcast-แƒก แƒ“แƒ แƒ•แƒœแƒแƒฎแƒ”แƒ— โ€žแƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒฎแƒ”แƒ แƒฎแƒ˜โ€œ - แƒ˜แƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒแƒ“ แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ“แƒ GC-แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast

แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› hazelcast 3.4-แƒจแƒ˜, แƒ แƒฃแƒ™แƒ˜แƒก / แƒ›แƒฃแƒšแƒขแƒ˜แƒ›แƒแƒžแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ˜แƒกแƒแƒก (map.destroy()), แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜:

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

แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 3.5-แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒงแƒ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ multiMaps แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒฌแƒแƒ•แƒจแƒแƒšแƒ”แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒ™แƒแƒ“แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ:

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");

multiMap แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒฌแƒแƒ˜แƒจแƒแƒšแƒ, แƒ แƒแƒชแƒ แƒแƒ  แƒ˜แƒงแƒ แƒกแƒแƒญแƒ˜แƒ แƒ. แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ—, แƒ แƒแƒ› แƒ“แƒแƒ’แƒ•แƒ”แƒฌแƒงแƒ Map , แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒฎแƒแƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒ”แƒกแƒ˜แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ (แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜).

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

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

แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ“แƒ.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ 1C-แƒกแƒ—แƒ•แƒ˜แƒก: Enterprise: Java, PostgreSQL, Hazelcast

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒ แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘?

  1. JSR223 แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒแƒก แƒ’แƒ แƒแƒ•แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜ - แƒ”แƒก แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜แƒ. แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜.
  2. Jmeter-Plugins แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜. แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜.

Hazelcast-แƒ—แƒแƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

Hazelcast แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜ แƒ˜แƒงแƒ, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒ›แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ 3.4.1 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ, แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 3.9.2 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ” (แƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ Hazelcast-แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒแƒ แƒ˜แƒก 3.10).

ID แƒ’แƒ”แƒœแƒ”แƒ แƒแƒชแƒ˜แƒ

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒฌแƒแƒ แƒ›แƒแƒ•แƒ˜แƒ“แƒ’แƒ˜แƒœแƒแƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒšแƒแƒœแƒ’แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜, แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒฅแƒฃแƒชแƒ›แƒแƒชแƒ”แƒ‘แƒแƒจแƒ˜ - แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› DB1-แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก ID=1 แƒ“แƒ DB1-แƒจแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก ID=2, แƒแƒ› ID-แƒก แƒ•แƒ”แƒ แƒช Elasticsearch-แƒจแƒ˜ แƒฉแƒแƒ“แƒ”แƒ‘ แƒ“แƒ แƒ•แƒ”แƒ แƒช Hazelcast-แƒจแƒ˜. , แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒชแƒฃแƒ“แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒจแƒ˜ แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ—, แƒ แƒแƒ› แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒแƒ› แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” AtomicLongs Hazelcast-แƒจแƒ˜ แƒ“แƒ แƒ˜แƒฅ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฎแƒแƒšแƒ˜ ID-แƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก incrementAndGet แƒžแƒšแƒฃแƒก Hazelcast-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ“แƒ แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› Hazelcast-แƒก แƒแƒฅแƒ•แƒก แƒ แƒแƒฆแƒแƒช แƒฃแƒคแƒ แƒ แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ - FlakeIdGenerator. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒแƒ— แƒ”แƒซแƒšแƒ”แƒ•แƒแƒ— ID แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ - 1-แƒ“แƒแƒœ 10-แƒ›แƒ“แƒ”, แƒ›แƒ”แƒแƒ แƒ”แƒก - 000-แƒ“แƒแƒœ 10-แƒ›แƒ“แƒ” แƒ“แƒ แƒ.แƒจ. แƒแƒฎแƒšแƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒกแƒชแƒ”แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜, แƒกแƒแƒœแƒแƒ› แƒ›แƒแƒกแƒ–แƒ” แƒ’แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜ แƒแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ. แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก (แƒ“แƒ Hazelcast แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก), แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ - แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ.แƒจ. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒแƒ  แƒ”แƒกแƒ›แƒ˜แƒ—, แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก ID-แƒ”แƒ‘แƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒกแƒ” แƒแƒ แƒแƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜แƒ. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒ•แƒฌแƒแƒœแƒ”แƒ— แƒ“แƒ UUID-แƒ–แƒ” แƒ’แƒแƒ“แƒแƒ•แƒ”แƒ“แƒ˜แƒ—.

แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒกแƒแƒช Twitter แƒ›แƒแƒกแƒฌแƒแƒœแƒก, แƒแƒ แƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ Snowcast แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ - แƒ”แƒก แƒแƒ แƒ˜แƒก Snowflake-แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ Hazelcast-แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ”. แƒ›แƒ˜แƒกแƒ˜ แƒœแƒแƒฎแƒ•แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒฅ:

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 แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒฉแƒแƒ’แƒ•แƒ”แƒฌแƒ”แƒ แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒšแƒแƒกแƒ”แƒ‘แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜ Hazelcast-แƒจแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก Application แƒ™แƒšแƒแƒกแƒ˜, แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ“แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ. แฒ’แƒแƒ“แƒแƒ แƒฉแƒ”แƒœแƒ:

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

แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ:

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

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ Hazelcast-แƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ—:

map.addIndex("subscriberId", false);

แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒกแƒแƒก, แƒ›แƒแƒ— แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒก ClassNotFoundException-แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ. Hazelcast-แƒ›แƒ แƒกแƒชแƒแƒ“แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒœแƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒแƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒ แƒกแƒฃแƒ แƒ“แƒ แƒแƒ› แƒ™แƒšแƒแƒกแƒ˜แƒ— JAR แƒ›แƒ˜แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒœแƒ แƒ›แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ”แƒก แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ—, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ: แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒ•แƒแƒแƒฎแƒšแƒแƒ— JAR แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”? Hazelcast แƒแƒ  แƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒฎแƒแƒš JAR-แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ•แƒ”แƒซแƒšแƒ แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ—แƒฃ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Hazelcast-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก? แฒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒแƒ . แƒแƒฅ แƒ˜แƒกแƒ”แƒ• 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-แƒจแƒ˜. Hazelcast-แƒก แƒแƒ  แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒšแƒแƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒฎแƒแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฌแƒ”แƒ แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒซแƒ•แƒ”แƒšแƒ›แƒ แƒฏแƒ”แƒ  แƒแƒ  แƒ˜แƒชแƒ˜แƒก แƒแƒ› แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ“แƒ แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒฎแƒแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒš แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒ  แƒแƒฅแƒ•แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ— แƒแƒกแƒ”แƒ— แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ“แƒ แƒแƒ  แƒ•แƒจแƒšแƒ˜แƒ— แƒ•แƒ”แƒšแƒ”แƒ‘แƒก, แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ•แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ— แƒ™แƒšแƒแƒกแƒ”แƒ‘แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ  แƒ•แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ— แƒ›แƒแƒฆแƒแƒš แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก

แƒแƒ—แƒฎแƒ˜ แƒ›แƒแƒ’แƒ–แƒแƒฃแƒ แƒแƒ‘แƒ Hazelcast-แƒจแƒ˜ - แƒ™แƒแƒ แƒ’แƒ˜, แƒแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ - แƒชแƒฃแƒ“แƒ˜

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฅแƒ”แƒจแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒช แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ’แƒกแƒฃแƒ แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ•แƒขแƒแƒ•แƒ”แƒ‘แƒ— แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒ”แƒขแƒแƒžแƒแƒ›แƒ“แƒ”. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒแƒ‘แƒ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒฉแƒแƒ แƒ—แƒแƒ•แƒ— PostgreSQL-แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒแƒก (log_min_duration_statement 0-แƒ›แƒ“แƒ”) แƒ“แƒ แƒ•แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ— แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก 20 แƒฌแƒฃแƒ—แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ pgFouine แƒ“แƒ pgBadger, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒœ แƒแƒœแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜. แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒจแƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒœแƒ”แƒš แƒ“แƒ แƒฎแƒจแƒ˜แƒ  แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒก. แƒœแƒ”แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒ’แƒ›แƒแƒก (EXPLAIN) แƒ“แƒ แƒ•แƒแƒคแƒแƒกแƒ”แƒ‘แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฎแƒจแƒ˜แƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒฏแƒ“แƒ”แƒ‘แƒ แƒฅแƒ”แƒจแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ โ€žแƒ‘แƒ แƒขแƒงแƒ”แƒšแƒ˜โ€œ, แƒ—แƒ˜แƒ—แƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒ–แƒ” แƒ—แƒ˜แƒ—แƒ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ”.

แƒ”แƒฅแƒกแƒžแƒšแƒฃแƒแƒขแƒแƒชแƒ˜แƒ

SV, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒœแƒšแƒแƒ˜แƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ”แƒฅแƒกแƒžแƒšแƒฃแƒแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒ•แƒ˜แƒ“แƒ 2017 แƒฌแƒšแƒ˜แƒก แƒ’แƒแƒ–แƒแƒคแƒฎแƒฃแƒšแƒ–แƒ”, แƒฎแƒแƒšแƒ แƒ แƒแƒ’แƒแƒ แƒช แƒชแƒแƒšแƒ™แƒ” แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜, SV แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ 2017 แƒฌแƒšแƒ˜แƒก แƒœแƒแƒ”แƒ›แƒ‘แƒ”แƒ แƒจแƒ˜ (แƒ˜แƒ› แƒ“แƒ แƒแƒก แƒ‘แƒ”แƒขแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒจแƒ˜).

แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ CB แƒแƒœแƒšแƒแƒ˜แƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒจแƒ˜ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒ  แƒงแƒแƒคแƒ˜แƒšแƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒœแƒšแƒแƒ˜แƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒ–แƒแƒ‘แƒฅแƒกแƒ˜, แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ Bamboo.

SV แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—: RPM, DEB, MSI. แƒžแƒšแƒฃแƒก Windows-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒ”แƒ แƒ— แƒ˜แƒœแƒกแƒขแƒแƒšแƒ”แƒ แƒก แƒ”แƒ แƒ—แƒ˜ EXE-แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก, Hazelcast-แƒก แƒ“แƒ Elasticsearch-แƒก แƒ”แƒ แƒ— แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒแƒ› แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒ•แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ“แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช โ€žแƒ“แƒ”แƒ›แƒโ€œ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒชแƒฎแƒแƒ“แƒ˜ แƒ’แƒแƒฎแƒ“แƒ, แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ