เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆ Tarantool เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเฉฐเจกเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจฌเจšเจฟเจ† เจนเฉˆ: เจ‡เจนเจจเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ เจธเจฟเฉฑเจ–เฉ‹เฅค เจšเจฟเฉฐเจคเจพ เจจเจพ เจ•เจฐเฉ‹, เจ…เจธเฉ€เจ‚ เจธเจญ เจ•เฉเจ เจธเฉ‹เจš เจฒเจฟเจ† เจนเฉˆ! เจ…เจธเฉ€เจ‚ Tarantool Cartridge เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เฉ€เจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฒเจฟเจ–เจฟเจ† เจนเฉˆ เจœเจตเจพเจฌเจฆเฉ‡เจน-เจญเฉ‚เจฎเจฟเจ•เจพ, เจœเฉ‹ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจชเฉ‹เจœเจผ เจ•เจฐเฉ‡เจ—เจพ, เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‡เจ—เจพ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจœเฉ‹เฉœ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจ…เจงเจฟเจ•เจพเจฐ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเฉ‡เจ—เจพ, เจฌเฉ‚เจŸเจธเจŸเจฐเฉˆเจช vshard, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจชเฉˆเจš เจ•เจฐเฉ‡เจ—เจพเฅค

เจฆเจฟเจฒเจšเจธเจช? เจซเจฟเจฐ เจฎเฉˆเจ‚ เจ•เฉฑเจŸ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจชเฉเฉฑเจ›เจฆเจพ เจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจธเจญ เจ•เฉเจ เจฆเฉฑเจธเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เฉ‡.

เจ†เจ‰ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพ เจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจฆเฉ‡ เจธเจฟเจฐเจซ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจ•เจตเจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจคเฉเจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจ‡เจธ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจจเจชเฉเจŸ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเจพ เจชเฉ‚เจฐเจพ เจตเฉ‡เจฐเจตเจพ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ. เจชเจฐ เจธเฉŒ เจตเจพเจฐ เจฆเฉ‡เจ–เจฃ เจจเจพเจฒเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ†เจ“ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ€เจเฅค

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ เจ•เฉ‹เจฒ เจนเฉˆ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹ เจฌเฉˆเจ‚เจ• เจ—เจพเจนเจ•เจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ–เจพเจคเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ HTTP เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจ‡เฉฑเจ• API เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‹ เจธเฉฐเจญเจต เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ: api ะธ storageเจœเฉ‹ เจ•เจฟ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ เจ–เฉเจฆ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เจนเจฟเฉฐเจฆเจพ เจ•เจฟ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ, เจ‡เจน เจธเจฟเจฐเจซ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจพเจ•เฉ€ เจ–เฉเจฆ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ: เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจ•เจฐเฉ‹, เจธเฉ‡เจตเจพเจตเจพเจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจŸเฉŒเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ‹เฅค เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจน เจธเจญ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจœเจตเจพเจฌเจฆเฉ‡เจน เจ‡เจน เจธเจพเจกเฉ‡ เจฒเจˆ เจ•เจฐเฉ‡เจ—เจพเฅค

เจธเจผเจฌเจฆเจพเจ‚ เจคเฉ‹เจ‚ เจ•เจฐเจฎ เจคเฉฑเจ•

เจ‡เจธ เจฒเจˆ, เจ†เจ“ เจ†เจชเจฃเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฆเฉ‹ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ 'เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจŸเฉ‹เจชเฉ‹เจฒเฉ‹เจœเฉ€ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ€เจ:

  • เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ app-1 เจฆเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพ เจจเจฟเจญเจพเจ‰เจฃเจ—เฉ‡ apiเจœเจฟเจธ เจตเจฟเฉฑเจš เจญเฉ‚เจฎเจฟเจ•เจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ vshard-router. เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‡เจตเจฒ เจ‡เฉฑเจ• เจนเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค
  • เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ storage-1 เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ storage (เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ vshard-storage), เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจฎเจธเจผเฉ€เจจเจพเจ‚ เจคเฉ‹เจ‚ เจฆเฉ‹ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚เฅค

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจนเฉˆ เจญเจŸเจ•เจฃเจพ ะธ Ansimate (เจตเจฐเจœเจจ 2.8 เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจพเจฒเจพ)เฅค

เจญเฉ‚เจฎเจฟเจ•เจพ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉˆ เจœเจตเจพเจฌเจฆเฉ‡เจน เจ—เจฒเฉˆเจ•เจธเฉ€. เจ‡เจน เจ‡เฉฑเจ• เจญเฉฐเจกเจพเจฐ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจจ เจ…เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเฉ‹:

$ git clone https://github.com/dokshina/deploy-tarantool-cartridge-app.git
$ cd deploy-tarantool-cartridge-app && git checkout 1.0.0

เจ…เจธเฉ€เจ‚ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚:

$ vagrant up

เจŸเจพเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ เจœเจตเจพเจฌเจฆเฉ‡เจน เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹:

$ ansible-galaxy install tarantool.cartridge,1.0.1

เจธเจฅเจพเจชเจฟเจค เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจšเจฒเจพเจ“:

$ ansible-playbook -i hosts.yml playbook.yml

เจ…เจธเฉ€เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฆเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจฆเฉ‡ เจ…เฉฐเจค เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, 'เจคเฉ‡ เจœเจพเจ“ http://localhost:8181/admin/cluster/dashboard เจ…เจคเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฆเจพ เจ†เจจเฉฐเจฆ เจฎเจพเจฃเฉ‹:

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจชเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹. เจ เฉฐเจกเจพ, เจ เฉ€เจ• เจนเฉˆ?

เจนเฉเจฃ เจ†เจ“ เจ‡เจน เจชเจคเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจ‡เจธ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจŸเฉŒเจชเฉŒเจฒเฉ‹เจœเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเฉˆเฉฑเจŸ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹เฅค

เจ…เจธเฉ€เจ‚ เจธเจฎเจเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚

เจคเจพเจ‚ เจ•เฉ€ เจนเฉ‹เจ‡เจ†?

เจ…เจธเฉ€เจ‚ เจฆเฉ‹ VM เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจœเจตเจพเจฌเจฆเฉ‡เจน เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจšเจฒเจพ เจฐเจนเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจธเจพเจกเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ†เจ‰ เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ playbook.yml:

---
- name: Deploy my Tarantool Cartridge app
  hosts: all
  become: true
  become_user: root
  tasks:
  - name: Import Tarantool Cartridge role
    import_role:
      name: tarantool.cartridge

เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจตเฉ€ เจฆเจฟเจฒเจšเจธเจช เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ, เจ…เจธเฉ€เจ‚ เจœเจตเจพเจฌเจฆเฉ‡เจน-เจญเฉ‚เจฎเจฟเจ•เจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ tarantool.cartridge.

เจธเจญ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ (เจ…เจฐเจฅเจพเจค, เจ•เจฒเฉฑเจธเจŸเจฐ เจธเฉฐเจฐเจšเจจเจพ) เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ เจตเจธเจคเฉ‚-เจซเจพเจ‡เจฒ hosts.yml:

---
all:
  vars:
    # common cluster variables
    cartridge_app_name: getting-started-app
    cartridge_package_path: ./getting-started-app-1.0.0-0.rpm  # path to package

    cartridge_cluster_cookie: app-default-cookie  # cluster cookie

    # common ssh options
    ansible_ssh_private_key_file: ~/.vagrant.d/insecure_private_key
    ansible_ssh_common_args: '-o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'

  # INSTANCES
  hosts:
    storage-1:
      config:
        advertise_uri: '172.19.0.2:3301'
        http_port: 8181

    app-1:
      config:
        advertise_uri: '172.19.0.3:3301'
        http_port: 8182

    storage-1-replica:
      config:
        advertise_uri: '172.19.0.3:3302'
        http_port: 8183

  children:
    # GROUP INSTANCES BY MACHINES
    host1:
      vars:
        # first machine connection options
        ansible_host: 172.19.0.2
        ansible_user: vagrant

      hosts:  # instances to be started on the first machine
        storage-1:

    host2:
      vars:
        # second machine connection options
        ansible_host: 172.19.0.3
        ansible_user: vagrant

      hosts:  # instances to be started on the second machine
        app-1:
        storage-1-replica:

    # GROUP INSTANCES BY REPLICA SETS
    replicaset_app_1:
      vars:  # replica set configuration
        replicaset_alias: app-1
        failover_priority:
          - app-1  # leader
        roles:
          - 'api'

      hosts:  # replica set instances
        app-1:

    replicaset_storage_1:
      vars:  # replica set configuration
        replicaset_alias: storage-1
        weight: 3
        failover_priority:
          - storage-1  # leader
          - storage-1-replica
        roles:
          - 'storage'

      hosts:   # replica set instances
        storage-1:
        storage-1-replica:

เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เจน เจธเจฟเฉฑเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจซเจผเจพเจˆเจฒ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจจเจตเฉ‡เจ‚ เจญเจพเจ— เจœเฉ‹เฉœเจพเจ‚เจ—เฉ‡เฅค เจ‰เจฒเจเจฃ เจตเจฟเฉฑเจš เจจเจพ เจชเฉˆเจฃ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเฉฑเจฅเฉ‡ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจซเจพเจˆเจฒ เจฆเฉ‡ เจ…เฉฐเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจเจพเจค เจฎเจพเจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, hosts.updated.yml, เจœเฉ‹ เจ•เจฟ เจ‰เจฆเจพเจนเจฐเจจ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจฃ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจœเจตเจพเจฌเจฆเฉ‡เจน เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจนเจฐ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจ‡เฉฑเจ• เจฎเฉ‡เจœเจผเจฌเจพเจจ เจนเฉˆ (เจ‡เฉฑเจ• เจ†เจ‡เจฐเจจ เจธเจฐเจตเจฐ เจจเจพเจฒ เจ‰เจฒเจเจฃ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ), เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ. เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจจเฉ‹เจก เจœเฉ‹ เจœเจตเจพเจฌเจฆเฉ‡เจน เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เจฐเฉ‡เจ—เจพเฅค เจนเจฐเฉ‡เจ• เจนเฉ‹เจธเจŸ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ ansible_host ะธ ansible_user) เจฆเฉ‡ เจจเจพเจฒ เจจเจพเจฒ เจ‰เจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจšเจจเจพเฅค เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเจพ เจตเฉ‡เจฐเจตเจพ เจญเจพเจ— เจตเจฟเฉฑเจš เจนเฉˆ hosts.

เจ‰เจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจšเจจเจพ 'เจคเฉ‡ เจ—เฉŒเจฐ เจ•เจฐเฉ‹ storage-1:

all:
  vars:
    ...

  # INSTANCES
  hosts:
    storage-1:
      config:
        advertise_uri: '172.19.0.2:3301'
        http_port: 8181

  ...

เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš config เจ…เจธเฉ€เจ‚ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจนเจจ - advertise URI ะธ HTTP port.
เจนเฉ‡เจ เจพเจ‚ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเจจ app-1 ะธ storage-1-replica.

เจธเจพเจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ Ansible เจจเฉ‚เฉฐ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉฑเจธเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจ—เจฐเฉเฉฑเจช เจ•เจฐเจจเจพ เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. host1 ะธ host2, เจ…เจคเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš vars เจฎเฉเฉฑเจฒ ansible_host ะธ ansible_user เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจฒเจˆ. เจ…เจคเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš hosts - เจฎเฉ‡เจœเจผเจฌเจพเจจ (เจ‰เจน เจ‰เจฆเจพเจนเจฐเจฃ เจนเจจ) เจœเฉ‹ เจ‡เจธ เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจ:

all:
  vars:
    ...
  hosts:
    ...
  children:
    # GROUP INSTANCES BY MACHINES
    host1:
      vars:
        # first machine connection options
        ansible_host: 172.19.0.2
        ansible_user: vagrant
       hosts:  # instances to be started on the first machine
        storage-1:

     host2:
      vars:
        # second machine connection options
        ansible_host: 172.19.0.3
        ansible_user: vagrant
       hosts:  # instances to be started on the second machine
        app-1:
        storage-1-replica:

เจ…เจธเฉ€เจ‚ เจฌเจฆเจฒเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ hosts.yml. เจ†เจ“ เจฆเฉ‹ เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ, storage-2-replica เจชเจนเจฟเจฒเฉ€ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจ…เจคเฉ‡ storage-2 เจฆเฉ‚เจœเฉ‡ 'เจคเฉ‡:

all:
  vars:
    ...

  # INSTANCES
  hosts:
    ...
    storage-2:  # <==
      config:
        advertise_uri: '172.19.0.3:3303'
        http_port: 8184

    storage-2-replica:  # <==
      config:
        advertise_uri: '172.19.0.2:3302'
        http_port: 8185

  children:
    # GROUP INSTANCES BY MACHINES
    host1:
      vars:
        ...
      hosts:  # instances to be started on the first machine
        storage-1:
        storage-2-replica:  # <==

    host2:
      vars:
        ...
      hosts:  # instances to be started on the second machine
        app-1:
        storage-1-replica:
        storage-2:  # <==
  ...

เจœเจตเจพเจฌเจฆเฉ‡เจน เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจšเจฒเจพเจ“:

$ ansible-playbook -i hosts.yml 
                   --limit storage-2,storage-2-replica 
                   playbook.yml

เจตเจฟเจ•เจฒเจช เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเจ“ --limit. เจ•เจฟเจ‰เจ‚เจ•เจฟ เจนเจฐเฉ‡เจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจ‰เจฆเจพเจนเจฐเจจ เจœเจตเจพเจฌเจฆเฉ‡เจน เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจธเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉฑเจธ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจตเฉˆเฉฑเจฌ UI 'เจคเฉ‡ เจตเจพเจชเจธ เจœเจพเจ“ http://localhost:8181/admin/cluster/dashboard เจ…เจคเฉ‡ เจธเจพเจกเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ‹:

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฎเจพเจฃ 'เจคเฉ‡ เจ†เจฐเจพเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจŸเฉŒเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจนเจพเจธเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจŸเฉŒเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ†เจ‰ เจธเจพเจกเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฎเจฟเจฒเจพ เจฆเฉ‡เจˆเจ storage-2. เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเจฎเฉ‚เจน เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹ replicaset_storage_2 เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจพเจจเจคเจพ เจฆเฉเจ†เจฐเจพ เจตเจฐเจฃเจจ เจ•เจฐเฉ‹ replicaset_storage_1. เจญเจพเจ— เจตเจฟเฉฑเจš hosts เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจธ เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚ (เจ…เจฐเจฅเจพเจค, เจธเจพเจกเจพ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเฉˆเฉฑเจŸ):

---
all:
  vars:
    ...
  hosts:
    ...
  children:
    ...
    # GROUP INSTANCES BY REPLICA SETS
    ...
    replicaset_storage_2:  # <==
      vars:  # replicaset configuration
        replicaset_alias: storage-2
        weight: 2
        failover_priority:
          - storage-2
          - storage-2-replica
        roles:
          - 'storage'

      hosts:   # replicaset instances
        storage-2:
        storage-2-replica:

เจšเจฒเฉ‹ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ:

$ ansible-playbook -i hosts.yml 
                   --limit replicaset_storage_2 
                   --tags cartridge-replicasets 
                   playbook.yml

เจชเฉเจฐเจคเฉ€ เจตเจฟเจ•เจฒเจช --limit เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจพเจฐ เจ‰เจธ เจธเจฎเฉ‚เจน เจฆเจพ เจจเจพเจฎ เจชเจพเจธ เจ•เฉ€เจคเจพ เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจตเจฟเจ•เจฒเจช 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ‹ tags.

เจธเจพเจกเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพ เจ•เฉเจฐเจฎเจตเจพเจฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจŸเฉˆเจ—เจพเจ‚ เจจเจพเจฒ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

  • cartridge-instances: เจ‰เจฆเจพเจนเจฐเจฃ เจชเฉเจฐเจฌเฉฐเจงเจจ (เจธเฉฐเจฐเจšเจจเจพ, เจธเจฆเฉฑเจธเจคเจพ เจจเจพเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ);
  • cartridge-replicasets: เจŸเฉŒเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ (เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ…เจคเฉ‡ เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจนเจŸเจพเจ‰เจฃเจพ)
  • cartridge-config: เจนเฉ‹เจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเฉ‹ (vshard เจฌเฉ‚เจŸเจธเจŸเจฐเฉˆเจชเจฟเฉฐเจ—, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจฎเฉ‹เจก, เจ…เจงเจฟเจ•เจพเจฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ)เฅค

เจ…เจธเฉ€เจ‚ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉฑเจธ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ•เฉฐเจฎ เจฆเจพ เจ•เจฟเจนเฉœเจพ เจนเจฟเฉฑเจธเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจซเจฟเจฐ เจญเฉ‚เจฎเจฟเจ•เจพ เจฌเจพเจ•เฉ€ เจฆเฉ‡ เจ•เฉฐเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเฉ‡เจตเฉ‡เจ—เฉ€เฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจŸเฉŒเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจนเฉˆ cartridge-replicasets.

เจ†เจ‰ เจ†เจชเจฃเฉ‡ เจฏเจคเจจเจพเจ‚ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเฉ€เจเฅค เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจฐเฉ€เจชเจฒเฉ€เจธเฉ‡เจŸ เจฒเฉฑเจญ เจฐเจฟเจนเจพ เจนเฉˆ http://localhost:8181/admin/cluster/dashboard.

เจคเจฐเจจเจŸเฉ‚เจฒ เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ (เจญเจพเจ— 1) 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ

เจนเฉ‚เจฐเฉ‡!

เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจฏเฉ‹เจ— เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ•เจฒเฉฑเจธเจŸเจฐ เจŸเฉ‹เจชเฉ‹เจฒเฉ‹เจœเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเจฆเฉ€ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฐเฉ‹เจฒเจฟเฉฐเจ— เจ…เฉฑเจชเจกเฉ‡เจŸ เจœเจพเจ‚ เจตเจงเจพเจ“ memtx_memory. เจญเฉ‚เจฎเจฟเจ•เจพ เจคเฉเจนเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจฆเฉ‡ เจธเฉฐเจญเจพเจตเจฟเจค เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฒเจˆ เจ‰เจฆเจพเจนเจฐเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‡เจ—เฉ€เฅค

เจฆเฉŒเฉœเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ‹ vagrant haltVM เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเฉ‹เฅค

เจ…เจคเฉ‡ เจนเฉเฉฑเจก เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ•เฉ€ เจนเฉˆ?

เจ‡เฉฑเจฅเฉ‡ เจฎเฉˆเจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เจพ เจ•เจฟ เจธเจพเจกเฉ‡ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจฆเฉŒเจฐเจพเจจ เจœเจตเจพเจฌเจฆเฉ‡เจน เจญเฉ‚เจฎเจฟเจ•เจพ เจฆเฉ‡ เจนเฉเฉฑเจก เจนเฉ‡เจ  เจ•เฉ€ เจนเฉ‹เจ‡เจ†.

เจ†เจ‰ เจ‡เฉฑเจ• เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจฆเจฎ เจฆเจฐ เจ•เจฆเจฎ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจเฅค

เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ

เจชเจนเจฟเจฒเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจชเจนเฉเฉฐเจšเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจนเฉเจฃ เจญเฉ‚เจฎเจฟเจ•เจพ RPM เจ…เจคเฉ‡ DEB เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจฌเจนเฉเจค เจธเจพเจฆเจพ เจนเฉˆ: เจนเจฐ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจตเฉฑเจ–เจฐเฉ€ เจนเฉˆ systemd-เจธเฉ‡เจตเจพเฅค เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚:

$ systemctl start myapp@storage-1

เจ‡เจน เจ•เจฎเจพเจ‚เจก เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเฉ‡เจ—เฉ€ storage-1 เจเจชเจธ myapp. เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจ‰เจฆเจพเจนเจฐเจฃ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ–เฉ‹เจœ เจ•เจฐเฉ‡เจ—เฉ€ เจธเฉฐเจฐเจšเจจเจพ ะฒ /etc/tarantool/conf.d/. เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจฒเฉŒเจ—เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ journald.

เจฏเฉ‚เจจเจฟเจŸ เจซเจพเจˆเจฒ /etc/systemd/system/[email protected] เจ‡เฉฑเจ• systemd เจธเฉ‡เจตเจพ เจฒเจˆ เจชเฉˆเจ•เฉ‡เจœ เจจเจพเจฒ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

Ansible เจ•เฉ‹เจฒ เจชเฉˆเจ•เฉ‡เจœ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎเจก เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจนเจจ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจตเฉ€ เจจเจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจฒเฉฑเจญเจฟเจ† เจนเฉˆเฅค

เจ•เจฒเฉฑเจธเจŸเจฐ เจŸเฉ‹เจชเฉ‹เจฒเฉ‹เจœเฉ€ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฆเจฟเจฒเจšเจธเจช เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจธเจนเจฟเจฎเจค เจนเฉ‹เจตเฉ‹, เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจœเจตเจพเจฌเจฆเฉ‡เจน เจญเฉ‚เจฎเจฟเจ•เจพ เจจเจพเจฒ เจชเจฐเฉ‡เจธเจผเจพเจจ เจนเฉ‹เจฃเจพ เจ…เจœเฉ€เจฌ เจนเฉ‹เจตเฉ‡เจ—เจพ systemd-เจธเจฐเจ•เจพเจฐเฉ€.

เจคเฉเจธเฉ€เจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเฉˆเจŸ เจ…เจช เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  • เจชเจนเจฟเจฒเจพ เจตเจฟเจ•เจฒเจช: เจตเฉˆเฉฑเจฌ UI เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจฌเจŸเจจเจพเจ‚ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹เฅค เจ•เจˆ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ•-เจตเจพเจฐ เจธเจผเฉเจฐเฉ‚เจ†เจค เจฒเจˆ, เจ‡เจน เจ•เจพเจซเจผเฉ€ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆเฅค
  • เจฆเฉ‚เจœเจพ เจตเจฟเจ•เจฒเจช: เจคเฉเจธเฉ€เจ‚ GraphQl API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉเจ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจฟเจ–เฉ‹เฅค
  • เจคเฉ€เจœเจพ เจตเจฟเจ•เจฒเจช (เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจ†เจคเจฎเจพ เจฒเจˆ): เจธเจฐเจตเจฐ 'เจคเฉ‡ เจœเจพเจ“, เจตเจฐเจคเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟเจธเฉ‡ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจจเจพเจฒ เจœเฉเฉœเฉ‹ tarantoolctl connect เจ…เจคเฉ‡ เจฒเฉเจ† เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเจพเจฒ เจธเจพเจฐเฉ‡ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเฉ‹ cartridge.

เจธเจพเจกเฉ€ เจ•เจพเจข เจฆเจพ เจฎเฉเฉฑเจ– เจ•เฉฐเจฎ เจ‡เจน เจ•เจฐเจจเจพ เจนเฉˆ, เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ•เฉฐเจฎ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจฎเฉเจธเจผเจ•เจฒ เจนเจฟเฉฑเจธเจพ.

Ansible เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเจพ เจ–เฉเจฆ เจฆเจพ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฒเจฟเจ–เจฃ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจญเฉ‚เจฎเจฟเจ•เจพ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เจนเจจเจพเจ‚ เจฎเฉˆเจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจ•เจฟเจฆเจพ เจšเจฒเจฆเจพ? เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ• เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจฐเฉ‹เจฒ เจนเจฐเฉ‡เจ• เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจญเจพเจ— เจจเฉ‚เฉฐ เจ‡เจจเจชเฉเจŸ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจจเจชเฉเจŸ เจจเจพเจฒ เจ‡เจธเจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เฉฑเจ—เฉ‡, เจ‡เฉฑเจ• เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡ เจธเจพเจ•เจŸ เจฆเฉเจ†เจฐเจพ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจจเจคเฉ€เจœเฉ‡

เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจฆเฉฑเจธเจฟเจ† เจ…เจคเฉ‡ เจฆเจฟเจ–เจพเจ‡เจ† เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ Tarantool เจ•เจพเจฐเจŸเฉเจฐเฉ€เจœ 'เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจŸเฉŒเจชเฉŒเจฒเฉ‹เจœเฉ€ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ Ansible เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€, เจ‡เฉฑเจ• เจธเจผเจ•เจคเฉ€เจธเจผเจพเจฒเฉ€ เจŸเฉ‚เจฒ เจœเฉ‹ เจตเจฐเจคเจฃ เจตเจฟเฉฑเจš เจ†เจธเจพเจจ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ (เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ•เจฒเฉฑเจธเจŸเจฐ เจ‰เจฆเจพเจนเจฐเจฃ เจนเจจ)เฅค

เจ‰เฉฑเจชเจฐ, เจ…เจธเฉ€เจ‚ Ansible เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฒเฉฑเจธเจŸเจฐ เจธเฉฐเจฐเจšเจจเจพ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจˆ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฟเจ† เจนเฉˆเฅค เจ‡เฉฑเจ• เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ…เฉฑเจ—เฉ‡ เจตเจงเจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉ‹, เจคเจพเจ‚ เจธเจฟเฉฑเจ–เฉ‹ เจตเจงเฉ€เจ† เจ…เจฎเจฒ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฒเจฟเจ–เจฃ เจฒเจˆเฅค เจจเจพเจฒ เจŸเฉŒเจชเฉŒเจฒเฉ‹เจœเฉ€ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆ group_vars ะธ host_vars.

เจฌเจนเฉเจค เจœเจฒเจฆเฉ€ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจŸเฉŒเจชเฉŒเจฒเฉ‹เจœเฉ€, เจฌเฉ‚เจŸเจธเจŸเจฐเฉˆเจช vshard, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจฎเฉ‹เจก เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ, เจ…เจงเจฟเจ•เจพเจฐ เจธเฉฐเจฐเจšเจจเจพ เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจชเฉˆเจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจนเจŸเจพเจ‰เจฃเจพ เจนเฉˆเฅค เจ‡เจธ เจฆเฉŒเจฐเจพเจจ, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจ…เจงเจฟเจเจจ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจฏเฉ‹เจ— เจ•เจฐเฉ‹เฅค

เจœเฉ‡ เจ•เฉเจ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจคเจพเจ‚ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจธเฉ‚เจšเจฟเจค เจ•เจฐเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจธเจฎเฉฑเจธเจฟเจ† เจฌเจพเจฐเฉ‡. เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจœเจฒเจฆเฉ€ เจคเฉ‹เฉœ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹