Mail.ru Group-แจแ แแแแฅแแก Tarantool - แแก แแ แแก แแแแแแแชแแแก แกแแ แแแ แ แแฃแแจแ, แ แแแแแแช แแกแแแ แแแฅแแแแแแก แ แแแแ แช แแแแแชแแแแ แแแแ (แแ แแแ แแฅแแ?). แแก แแ แแก แกแฌแ แแคแ แแ แแแแแ แ, แแแแ แแ แแ แแ แกแแ แแแ แแก แจแแกแแซแแแแแแแแแ แฏแแ แแแแแ แแ แแ แแก แจแแฃแแฆแฃแแแแ. แแแ แขแแแแแฃแ แ แกแแแแแ แแแ แแกแแแ แแ แแ แแก แแแแแชแแ, แแแแขแแ Tarantool-แก แแฅแแก แแแกแขแ แฃแแแแขแแแ แฐแแ แแแแแขแแแฃแ แ แกแแแแแชแแแกแแแแก - vshard แแแแฃแแ
แแแ แแ แแแแแแ: แฉแแแ แแแแแแ แแแแ แ แแแแแแแแ แแแแ แแแแ แ (แแแ
แแแแแ แแขแฃแแแ แ แ แแ แแแแแแแ?
แขแแ แแแขแฃแแ แแแแฅแแก, แแจแแ แแ แแแแฅแแก - แแแขแ แ แ แแแแแ?
แแแ แแแ แ แแแจแ, แแก แแ แแก แแแฎแแ แฎแแแฃแแแแแก แกแแแแแฎแ. vshard แแแแคแแแฃแ แแชแแ แแแแคแแแฃแ แแแฃแแแ Lua แชแฎแ แแแแแแก แแแจแแแแแแ. แแ แแแแแ Tarantool แแ แแชแแกแแก แแแแแฌแแแแแฃแแแ แกแแกแขแแแแ แ แแ แกแฌแแ แแ แแแฃแจแแแก, แแแแคแแแฃแ แแชแแ แงแแแแแแ แแ แแแแแ แ แฃแแแ แแงแแก. แแ แแแแก แแ แกแฃแ แก แแแแก แแแแแแแแ แฎแแแแ. แแแแขแแ, แแแแแแงแแแแแ แงแแแแ แกแแฎแแก แกแแ แแแขแ, Ansible แแ แแแแแแแแแแก แกแแกแขแแแแแ.
แแแ แขแ แแฏแ แแแแแ แแแ แแแแก vshard-แแก แแแแคแแแฃแ แแชแแแก, แแก แแแแก แแแแแแแก แแแก แกแแคแฃแซแแแแแ แกแแแฃแแแ แ แแแแแฌแแแแแฃแแ แแแแคแแแฃแ แแชแแ. แแก แแ แกแแแแแแ แแ แแก แแแ แขแแแ YAML แคแแแแ, แ แแแแแก แแกแแ แแแแฎแแแ Tarantool-แแก แแแแแแฃแ แแแกแขแแแชแแแจแ. แแแแแ แขแแแแแ แแก แแ แแก, แ แแ แฉแแ แฉแ แแแแแ แแแแแขแ แแแแแก แแแก แแแแคแแแฃแ แแชแแแก แแ แฃแแ แฃแแแแแงแแคแก, แ แแ แแก แงแแแแแแ แแ แแแแแ แแ.
แแแแ แแช, แแก แแกแแ แแแฎแแ แฎแแแฃแแแแแก แกแแแแแฎแแ. vshard-แแก แแแแคแแแฃแ แแชแแแก แแ แแแแแแ แ แแแแจแแ แ แแ แแฅแแก แแแแแแก แแแแแแแก แแแแแแแแ แแแแกแแแ แแ แแฎแแแแ แแ แแแ แแแแกแขแก แแจแแ แแแก แแแก แแฃแจแแแแแก. แ แแแแกแแช แแแแแแฎแแแแแ แแ แแแฅแขแแก แแ แฅแแขแแฅแขแฃแ แแก, แงแแแแแแ แฎแจแแ แแ แแกแแฃแแ แแแ แชแแแแแฃแ แแแแแแแแแขแแแแ แแ แแแ แฃแ แแแแ แแฅแแแแแแแแแ. แฏแแ แแแแแ แแแแ แแแคแแฅแ แแ แแแแกแขแแ แแก 3 แแแแแชแแแแ แชแแแขแ แจแ แแแจแแแแแแ.
แฉแแแ แแ แแ แแแแแแแแก แแ แแแ แแฎแแ แแแแแแญแ แแ แแ แ แแฆแแช แแแแแแขแจแ แแแแแฎแแ แฎแแ แแแแแแแแก แจแแแฃแจแแแแแ, แ แแแแแแช แแแแ แขแแแแแก แแแแแแแชแแแกแแแ แแฃแจแแแแแก แแแแแ แแแกแ แกแแกแแชแแชแฎแแ แชแแแแแก แแแแแแแแแแแจแ: แจแแฅแแแ, แแแแแแแแ แแแ, แขแแกแขแแ แแแ, CI/CD, แจแแแแ แฉแฃแแแแ.
แแแ แขแ แแฏแ แฌแแ แแแแแแแแแ แ แแแแก แแแแชแแคแชแแแก Tarantool-แแก แแแแแแฃแแ แแ แแชแแกแแกแแแแก. แ แแแแแ แแ แแก แแแแชแแคแชแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแก แแแแแแแแแ แก แคแแแฃแกแแ แแแ แแแแฎแแแแแก แแแแแก แแแฌแแ แแแ. แแ แแแฅแขแจแ แแ แกแแแฃแแ แงแแแแ แ แแแ แจแแแซแแแแ แแแแฎแแ แชแแแแแแก Tarantool-แแก แแ แ แแแกแขแแแชแแแแ แแ แแก แกแแแแแ แแกแ แแฅแแแแ แขแแกแขแแแแกแแแแก.
Tarantool แแแ แขแ แแฏแแก แซแแ แแแแแ แแแฎแแกแแแแแแแแแ:
- แแแขแแแแขแฃแ แ แแแแกแขแแ แฃแแ แแ แแแกแขแ แแ แแแ;
- แแแแแแแชแแแก แคแฃแแฅแชแแแแแ แแแแก แแแคแแ แแแแแ แแฎแแแ แ แแแแแแก แแแแแงแแแแแแ;
- แแแแแชแฎแแแแก แจแแแแแแ แแแแแแแแ แแแแกแ แแ แแแแแแแแแแกแแแแก;
- แฉแแจแแแแแฃแแ แแแขแแแแขแฃแ แ แแแคแแแขแแ;
- แแแขแแแ แแชแแ Luatest แขแแกแขแแ แแแแก แฉแแ แฉแแกแแแ;
- แแแแกแขแแ แแก แแแ แแแ WebUI แแ API แแแแแงแแแแแแ;
- แจแแคแฃแแแแกแ แแ แแแแแแแแแแก แฎแแแกแแฌแงแแแแ.
แฒแแแแ แฏแแแ แแกแแคแแแ!
แแแ แแแขแแ แแแแแ แฉแแ แฉแแก แฉแแแแแแแก, แแแแขแแ แแแแแแแแแแแ แแแแขแแแแแ แแแแแแก แแ แฅแแขแแฅแขแฃแ แแก แจแแกแแฎแแ แแ แแแแแฌแงแแแ แ แแฆแแช แแแ แขแแแแ. แแฃ แแแแแ แแฃแแแแ, แ แแ แแแแแ Tarantool แฃแแแ แแแแแกแขแแแแ แแแฃแแแ, แแแจแแ แ แฉแแแ แแฎแแแแ แแแแก แแแแแแแแ
$ tarantoolctl rocks install cartridge-cli
$ export PATH=$PWD/.rocks/bin/:$PATH
แแก แแ แ แแ แซแแแแแ แแแแแแกแขแแแแ แแแก แแ แซแแแแแแก แฎแแแก แแ แกแแจแฃแแแแแแก แแแแชแแแ แจแแฅแแแแ แแฅแแแแ แแแ แแแแ แแแแแแแชแแ แจแแแแแแแแแ:
$ cartridge create --name myapp
แแ แแก แแ แแก แแก, แ แแช แฉแแแ แแแฆแแแ:
myapp/
โโโ .git/
โโโ .gitignore
โโโ app/roles/custom.lua
โโโ deps.sh
โโโ init.lua
โโโ myapp-scm-1.rockspec
โโโ test
โ โโโ helper
โ โ โโโ integration.lua
โ โ โโโ unit.lua
โ โโโ helper.lua
โ โโโ integration/api_test.lua
โ โโโ unit/sample_test.lua
โโโ tmp/
แแก แแ แแก git แกแแชแแแ แแแ "Hello, World!" แแแแแชแฎแแแ. แจแแแแชแแแแ แแแกแ แแแฃแงแแแแแแแ แแแจแแแแ, แแแ แ แแแงแแแแแฃแแ แแแแแแแแแแฃแแแแแแแก (แแแ แจแแ แแก แแแแแ แฉแแ แฉแแก แฉแแแแแแ):
$ tarantoolctl rocks make
$ ./init.lua --http-port 8080
แแกแ แ แแ, แฉแแแ แแแแฅแแก แแ แแ แแแแแซแ, แ แแแแแแช แแฃแจแแแแก แแแแแแแแ แแแฎแแฎแแแ แแแแแแแชแแแกแแแแก. แชแแแแแกแแแงแแแ แ แฃแแ แแแ แแแแแแแแก แจแแฃแซแแแ แแแฃแงแแแแแแแแ แแแฎแกแแแก แแแ แแแขแแ แคแแแกแ, แแแแแแแคแแแฃแ แแ แแก แแ แแ แแแแแซแแก แแแแกแขแแ แ แแแฃแกแแ แแ แแแขแแแแก แจแแแแแแ, แแแแ แแ แฏแแ แแแแแ แแแแ แแแฎแแ แแแ. แฏแแ แฏแแ แแแแ, แแแแแแแชแแ แแแ แแคแแ แก แแแแแแแก แกแแกแแ แแแแแ, แแแแขแแ แแแแแแแแแแแ แแแขแงแแแ แแแแแแแแแแก แจแแกแแฎแแ, แแแแ แแ แแฎแแ แแ แแ แแแฌแแ แแ แแแแ.
แแแแแแแชแแแก แจแแแฃแจแแแแแ
แฌแแ แแแแแแแแแ, แฉแแแ แแแแแแแแ แแ แแแฅแขแก, แ แแแแแแแช แฃแแแ แแแแฆแแก แแแแแชแแแแแ, แจแแแแแฎแแก แแ แจแแแแแแแแก แแแแแ แแจแ แแฆแแจแ แแ แแฎแแ.
แแแฌแงแแแ แแแแแ แแแแก แแแฎแแขแแแก แแ แแแกแแ แแแแแแกแแแ แกแแ แแแแแแแแแขแก: แแแ แแแญแ, แกแแชแแแ แแ แแ แแคแแแ. แฉแแแ แแแฃแจแแแแ แแ แฅแแขแแฅแขแฃแ แแแ แจแแแแแแแจแ. แแแแแแแแ แฉแแแ แแแงแแแแแ vshard-แก แ แแแแ แช แแแฎแกแแแ แแแแก, แฉแแแ แแแแแขแแแ vshard-แ แแฃแขแแ แก แแ vshard-storage-แก แกแฅแแแแก. แแ แช แแแ แแแญแ แแ แแ แช แแ แแคแแแ แแแ แแแแแ แแ แจแแแแแ แกแแชแแแแ; แกแฌแแ แแ แแแแกแแแแก แแ แแก แ แแฃแขแแ แ, แ แแกแแแแกแแช แแก แจแแแฅแแแ.
แแก แแแแแ แแแ แฏแแ แแแแแ แแ แฌแแ แแแแแแแแก แแฃแกแขแแ แแแแก, แ แแกแแช แฉแแแ แแแแจแแแแแ แแ แแแฅแขแจแ, แ แแแแแ แแแแแแแแแขแแแ แแแกแขแ แแฅแขแฃแแแ แแแแแแงแฃแ แแแ. แฉแแแ แฏแแ แแแแแ แฃแแแ แแแแฎแแ, แ แแแแ แแฅแแแแ แแก แแแแ แแแฅแขแแแฃแแ แ แแแแฃแ Tarantool-แแ - แแแแแ แแแแแฏแแฃแคแแ แฉแแแแ แแแแแแแแแขแแแ แแ แแชแแกแแก แแแฎแแแแแ.
แแแ แ แแ แแฅแแก vshard-แ แแฃแขแแ แแก แแ แแแ แแแญแแก แชแแแแแฃแ แแแกแขแแแชแแแแแ แจแแแแ แฉแฃแแแแแก. แ แแขแแ แแแญแแ แแแแ แแแแแ แแ แแฎแแ แกแแ แคแแแแ แฅแกแแแจแ, แแฃ แแก แฃแแแ แ แแฃแขแแ แแก แแแกแฃแฎแแกแแแแแแแแแ? แแกแแแ แฃแแแ แแแแฎแแ แชแแแแแแก แแแแแ แแ แแชแแกแจแ. แแแฃ, แ แแแแ แช gateway, แแกแแแ vshard.router.cfg แแแแชแแแแแแแแฃแแแ แแ แ แแ แแชแแกแจแ, แแ แแแแชแแ แแแ แแแแแแฃแ แ แแแขแแ แแฅแชแแ.
แแแแแแแแก แแขแแแแ แแแกแแฎแแ แฎแแแแแ แแงแ แกแแ แแแแแแแแแขแแแ แแฃแจแแแแ, แแแแ แแ แแ, แ แแแแ แช แแแแแแแแแ แ, แแแแแก แฌแแ แแกแแก, แแ แแแแแ แแแคแแฅแ แ Tarnatool-แแก แกแแแ แแแกแขแแแชแแแก แแแจแแแแแแ. แฃแแแ แฉแแแแขแแ แ แขแแกแขแแแ แแ แจแแแแแแฌแแ, แ แแ แกแฌแแ แแ แแแแฌแแ แ gateway. แแ แแฅแแแ แแกแฃแ แก แฉแแแ แแแแแแแแแกแแแแก แแแฎแแกแแแแแแแแก แแแแแแกแขแ แแ แแแ. แ แแขแแ แฃแแแ แแแแแแ แ แกแแแ แแกแแแก แแแแแแแกแแแ? แแกแ แแแแแแแ แ แแแแแแก แแแแชแแคแชแแ. แ แแแ แแ แแก แฉแแแฃแแแแ แแแ luash แแแแฃแแ, แ แแแแแก แกแแกแแชแแชแฎแแ แชแแแแก แแแ แแแแก แแแ แขแ แแฏแ. แแ แแแแแแแแจแ แแแฎแ แแแแแแแแ - แแแ แแแญแ, แ แแฃแขแแ แ, แกแแชแแแ, แแ แแคแแแ. แกแฎแแ แแ แแแฅแขแจแ แจแแแซแแแแ แแแขแ แแงแแก. แงแแแแ แ แแแ แจแแแซแแแแ แแแแฎแแ แชแแแแแแก แแ แ แแ แแชแแกแจแ แแ แแก แกแแแแแ แแกแ แแฅแแแแ.
แแ แ แแช แจแแแฎแแแ แแแแแแแก แแ แฌแแ แแแแแแก, แแแจแแ แฉแแแ แแแแแแฃแ Tarantool แแ แแชแแกแก แแแแแแแญแแแ แ แแแแแแก แกแแแฃแแแ แแแแแแแฅแขแก, แขแแฅแแแแแก แจแแกแแซแแแแแแแแแแแแ แแแแแแแแแแ แ:
แขแแแแแแแแแก แแแ แแแ
แแแคแแ แแแชแแ แแแแก แจแแกแแฎแแ, แแฃ แกแแ แแฃแจแแแแก แ แแแแแ, แฃแแแ แแงแแก แจแแแแฎแฃแแ แกแแแแ. แแ แแก "แกแแแฆแแช" แแ แแก แแแแแฌแแแแแฃแแ แแแแคแแแฃแ แแชแแ, แ แแแแแแช แแแแแ แฃแแแ แแฆแแแแจแแ. แแแกแจแ แงแแแแแแ แแแแจแแแแแแแแแ แแแกแแขแฃแ แ แขแแแแแแแแแ. แแฅ แแแชแแแฃแแแ 3 Tarantool แแ แแชแแกแแก 5 แ แแแแแแแชแแแก แฏแแฃแคแ:
แฉแแแ แแ แแแแแแ แแแแแชแแแแแแก แแแแแ แแแ, แแแแขแแ แฉแแแ แงแฃแ แแแฆแแแแ แแแแงแ แแแแ แแแคแแ แแแชแแแก แแแแแแแแ แ แแ แแชแแกแแแแก แจแแกแแฎแแ. แแแ แขแ แแฏแ แแแแแงแฃแ แก แแแแแแแแก แแแแคแแแฃแ แแชแแแก แแ แคแแแแแแ แฉแแฌแแ แแก แแแแแงแแแแแแ. แ แแแแ แช แแ แแแแคแแแฃแ แแชแแแก แแแแแฎแแแแ แแแกแฃแ แก, แแก แฏแแ แแแแฌแแแแก, แ แแ แงแแแแ แแแกแขแแแชแแ แฎแแแแแกแแฌแแแแแแ แแ แแแแ แแ แแก แแฎแแแ แแแแคแแแฃแ แแชแแแก แแแกแแฆแแแแ. แแแแก แจแแแแแ, แแแแ แ แแขแแแ แแแแแ แแแแก แแแแคแแแฃแ แแชแแแก. แแแ แแแแ, แแฃแแแแช แแ แแ แแแแแแแแแ แ แแ แแแแแ แแแฃแฌแแแแแแแ แแฆแแแฉแแแแก, แชแฃแแ แแ แแคแแ แ แแแฎแแแแ. แแแแคแแแฃแ แแชแแ แฃแแ แแแแ แแ แแฅแแแแ แแแแแงแแแแแฃแแ แแ แฌแแแแกแฌแแ แแแแแแฎแแแ แจแแชแแแแแก.
แแกแแแ แขแแแแแแแแแก แแแแงแแคแแแแแแจแ แแแแแแแแฃแแแ แแกแแแ แแแแจแแแแแแแแแ แแแ แแแแขแ แ, แ แแแแ แแช แแ แแก แแแแแแฃแแ แ แแแแแแแชแแแก แฏแแฃแคแแก แแแแแ แ. แฉแแแฃแแแแ แแ, แแก แแ แแก แแกแแ, แ แแแแแแช แฉแแฌแแ แแแแ. แแแแแ แฉแแแ แงแแแแแแ แฎแจแแ แแ แแฎแแแแ แฌแแกแแแแแฎแแ, แแฃแแชแ แจแแแซแแแแ แแงแแก แแแแแแแแแแกแแแ. แแแแฏแแ แแแแแช แแแแแแแแแ แแแก แแ แแจแแแแแ แแแแคแแแฅแขแแแแก แแ แจแแฃแซแแแแ แแแ แแแแแฃแ แแ แแแฌแแ แแ แแแแแชแแแแแ แ แแแแแแแแ แ แแแแแแแแ, แแแแ แแ แแ แแก แแแแ แแชแแแแ, แ แแแแแแแช, แ แแช แแ แฃแแแ แแแฎแแแก, แแ แฏแแ แแ แฃแแแ แจแแกแ แฃแแแแก. แแแแกแแแแก แแ แแก แแแแแ แแก แแแจแแแ.
แ แแแแแแก แชแฎแแแ แแแ
แแแแกแแแแแก, แ แแ แแแกแขแ แแฅแขแฃแแ แ แแแ แแ แกแแแแแแแก แแกแแ แแ แฅแแขแแฅแขแฃแ แแจแ, แฉแแ แฉแแ แฃแแแ แแแ แแแก แแกแแแ แ แแแแ แแ. แแฃแแแแ แแแแ, แแแแขแ แแแ แฎแแแแ Tarantool แแ แแชแแกแแก แแแแแขแแแ แแแแก แแแ แแจแ. แแ แแก 4 แแแแแซแแฎแแแ แ แแแแแแก แกแแแแ แแแแแ. แแแ แขแ แแฏแ แแแแแ แแแฃแซแแฎแแแก แแแ แแแแกแแ แแแฎแแแแแ, แแฃ แ แ แฌแแ แแ แแแก แแแแแฌแแแแแฃแ แแแแคแแแฃแ แแชแแแจแ, แ แแแแช แแแแแ แแแแก แแแแคแแแฃแ แแชแแแก แแแแแ แแขแฃแ แ แแแแแแ.
function init()
function validate_config()
function apply_config()
function stop()
แแแแแแฃแ แ แแแก แแฅแแก แคแฃแแฅแชแแ init
. แแแก แแ แแฎแแ แฃแฌแแแแแแ แ แแแแก แฉแแ แแแแกแแก แแ Tarantool-แแก แแแแแขแแแ แแแแกแแก. แแฅ แแแกแแฎแแ แฎแแแแแแ, แแแแแแแแแ, box.space.create-แแก แแแแชแแแแแแแชแแ, แแ แแแแ แแแก แจแแฃแซแแแ แแแฃแจแแแก แคแแแฃแ แ แแแญแแ, แ แแแแแแช แจแแแกแ แฃแแแแก แกแแแฃแจแแแก แแแ แแแแฃแแ แแ แแแก แแแขแแ แแแแแแแ.
แแ แแ แคแฃแแฅแชแแ init
แจแแแซแแแแ แแ แแงแแก แกแแแแแ แแกแ. แแแ แขแ แแฏแ แกแแจแฃแแแแแแก แแซแแแแก แ แแแแแก แแกแแ แแแแแแ แแแแแฌแแแแแฃแแ แแแแคแแแฃแ แแชแแแ, แ แแแแแกแแช แแงแแแแแก แขแแแแแแแแแก แจแแกแแแแฎแแ. แฉแแแ แจแแแแแซแแแ แแแแแแแชแฎแแแแ แแฎแแแ แแแแงแแคแแแแแ แแแแแ แแแแคแแแฃแ แแชแแแจแ แแ แจแแแแแฎแแ แแแกแจแ แแแแแแกแแก แแแแคแแแฃแ แแชแแแก แคแ แแแแแแขแ. แฉแแแก แแแแแแแแจแ, แแก แจแแแซแแแแ แแงแแก แแแแแชแแแแ แกแฅแแแ แแ แแ แแคแแแแก แแแ แแแแขแ แแแ แแ แแคแแแแก แ แแแแกแแแแก.
แแแแกแขแแ แฃแแ แแแ แแแ validate_config
ะธ apply_config
แงแแแแ แฏแแ แแ, แ แแแแกแแช แแชแแแแแ แแแแแฌแแแแแฃแแ แแแแคแแแฃแ แแชแแ. แ แแแแกแแช แแแแคแแแฃแ แแชแแ แแแแแแงแแแแแ แแ แคแแแแแแ แจแแกแ แฃแแแแแ, แแแแกแขแแ แ แแแแฌแแแแก, แ แแ แแแแแแฃแแ แ แแแ แแแแ แแ แแก แแแแฆแแก แแก แแฎแแแ แแแแคแแแฃแ แแชแแ แแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแชแแแแแแก แจแแชแแแแแก แจแแกแแฎแแ แแแแฎแแแ แแแแแก. แ แแแแกแแช แงแแแแ แแแแฎแแแแแ, แ แแ แแแแคแแแฃแ แแชแแ แแแ แแแแฃแ แแ, แแแจแแ apply_config
.
แ แแแแแกแแช แแฅแแก แแแแแแ stop
, แ แแแแแแช แกแแญแแ แแ แ แแแแก แแแแแกแแแแแก แแแกแแกแฃแคแแแแแแแแ. แแฃ แแแขแงแแแ, แ แแ แแ แแคแแแ แแฆแแ แแ แแก แกแแญแแ แ แแ แกแแ แแแ แแ, แแแก แจแแฃแซแแแ แจแแแฉแแ แแก แแก แแแญแแแแแ, แ แแแแแแแแแช แแแแฌแงแ init
.
แ แแแแแก แจแแฃแซแแแแ แแ แแแแแแแแแ แฃแ แแแแ แแแแ. แฉแแแ แจแแฉแแแฃแแ แแแ แ แคแฃแแฅแชแแแก แแแ แแแแก แฌแแ แแก Lua-แจแ, แแแแ แแ แจแแแซแแแแ แแแฎแแแก, แ แแ แแแชแแแฃแ แแ แแชแแกแก แแ แฐแฅแแแแแก แแก แ แแแ, แ แแแแแแช แฉแแแ แแแญแแ แแแแ. แฅแกแแแจแ แแแ แแแแก แแแกแแแแแแแแแแแ, แฉแแแ แแแงแแแแแ rpc (แแแกแขแแแชแแฃแ แ แแ แแชแแแฃแ แแก แแแ แ) แแแแฎแแแ แ แแแแฃแแก, แ แแแแแแช แแแแแฃแแแ Tarantool-แจแ แฉแแจแแแแแฃแแ แกแขแแแแแ แขแฃแแ netbox-แแก แกแแคแฃแซแแแแแ. แแก แจแแแซแแแแ แแงแแก แกแแกแแ แแแแแ, แแฃ, แแแแแแแแแ, แแฅแแแแก แแแ แแแญแแก แกแฃแ แก แแแ แแแแแ แกแแฎแแแแก แแแแ แแแก แกแแแฃแจแแแก แจแแกแ แฃแแแแ แแฎแแแแ, แแแแ แ แแ แแ แแฆแ แแแแแแแ.
แแแแแ แแ แแ แแแแจแแแแแแแแแ แแฃแแฅแขแแ แจแแชแแแแแแแก แขแแแแ แแแขแแแแก แฃแแ แฃแแแแแงแแคแ. แแแ แขแ แแฏแ แแงแแแแแก SWIM แแ แแขแแแแแก แฏแแแแ แแแแแแแก แแแแแขแแ แแแแแกแแแแก
แแ แแ แแขแแแแแแก แกแแคแฃแซแแแแแ, แแแ แขแ แแฏแ แแฌแงแแแก แแแขแแแแขแฃแ แ แฌแแ แฃแแแขแแแแแแแก แแแแฃแจแแแแแแก. แแแแแแฃแแ แแ แแชแแกแ แแแแแขแ แแแแแก แแแก แแแ แแแแก แแ แแฃ แแแแแ แ แแแฃแแแแแแแแ แจแแฌแงแแแขแก แ แแแแแ แแแแก, แ แแแแแแแก แจแแฃแซแแแ แแแแฆแแก แแแกแ แ แแแ แแ แแแ แขแ แแฏแ แจแแกแแแแแแกแแ แแแแแคแแแฃแ แแ แแแก แแแจแแแแฃแ แ แแแแแก.
แแฅ แคแ แแฎแแแแ แฃแแแ แแงแแ, แ แแแแแ แฎแจแแ แแ แฌแแ แแ แฃแแแ แแแแแ แแแแ แจแแแซแแแแ แแแแแแฌแแแแก แแแแแชแแแแ แแแแคแแแฅแขแ แ แแแแแแแชแแแก แแ แแก. แ แ แแฅแแ แฃแแแ, แแฅแแแ แแ แฃแแแ แฉแแ แแแ แแแขแแแแขแฃแ แ แฃแแแแ แแกแแแ แจแแแแฎแแแแแ. แแแแแแ แฃแแแ แแแแกแแแแแก แ แ แฎแแแแ แแ แแแ แฌแแฃแแแแฃแแ แแแงแแ, แ แแ แ แแแแแแแชแแ แแ แแแขแงแแแแ แแแแแ แแก แแฆแแแแแแก แแ แแแแ แแแแแแก แแแแ แฃแแแแแก แจแแแแแ.
แแ แงแแแแแคแ แแแแ แจแแแซแแแแ แแฅแแแแแ แแแแชแแ, แ แแ แ แแแแแ แแแแ แแกแแ แแแกแแแแก แแกแแแแกแแ. แแแ แแแแฃแแ แแแแแแแ, แแกแแแ แแฎแแแแ แแกแแ, แแฎแแแแ แ แแแแ แช แแแแฃแแแแ Tarantool แแ แแชแแกแแแจแ. แแแแ แแ แแกแแแ แแ แกแแแแแก แแแแแ แ แแแ แคแฃแแแแแแแขแฃแ แ แแแแกแฎแแแแแแแแ. แแแ แแแ แ แแแจแ, แแ แแแฅแขแแก แงแแแแ แ แแแ แฃแแแ แชแฎแแแ แแแแแก แแแแแ แแแแแก แแแแแจแ. แแ Tarantool-แแก แงแแแแ แแ แแชแแกแ แฃแแแ แแงแแก แแแจแแแแฃแแ แแแแแ แแแแแก แแแแแแแ, แแกแ, แ แแ แแ แแงแแก แแกแแแ แกแแฃแ แแ แแแแแ, แ แแแแ แแช แฉแแแ แแชแแแแแแ แแแแแแแแแแก แแแแชแแแแแแแชแแแก, แแแแ แแ แแก แฃแแ แแแแ แแ แแ แกแแแแแก. แแกแแแ, แแ แฃแแแ แแแฃแจแแแ แแแแกแฎแแแแแแแแ แแแแแก แแแ แกแแแแจแ, แ แแแแแ แกแแกแขแแแแก แฅแชแแแ แแกแแ แกแแขแฃแแชแแแจแ แซแแแแแ แ แแฃแแแ แแ แแแแแแแ แแแ แแ แแแแแ แแแ.
Docker-แแกแแแ แแแแกแฎแแแแแแแ, แฉแแแ แแ แจแแแแแซแแแ แฃแแ แแแแ แแแแฆแแ แ แแแ "แแแแฏแ", แแแแแแแขแแแแ แแแ แกแฎแแ แแแแฅแแแแแ แแ แแแแฃแจแแแ แแฅ. แฉแแแแ แ แแแแแ แแ แแ แแก แแกแแแ แแแแแแ แแแฃแแ, แ แแแแ แช Docker แแแแขแแแแแ แแแ. แแกแแแ, แฉแแแ แแ แจแแแแแซแแแ แแ แ แแแแแขแฃแ แ แ แแแแก แจแแกแ แฃแแแแ แแ แ แแแกแขแแแชแแแแ. แ แแแ แแ แแ แกแแแแแก แแ แแ แแ แกแแแแแก; แแแ แแแแฃแแ แแแแแแแ, แแก แแ แแก แกแแแแแ. แแ แแแกแแแ, แ แแแแแ แฃแแแ แแงแแก แแแแแ แแแแแ แ แแแแแแแชแแแก แฏแแฃแคแจแ, แ แแแแแ แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแก แแฅแแแแ แแแกแฃแ แแ - แแแแแชแแแแแ แแแแแแ, แแแแ แแ แแแแคแแแฃแ แแชแแ แแแแกแฎแแแแแแฃแแแ.
แแแแแแแแแแก แแแกแขแ แฃแแแแขแแแ
แแ แแแแแแ แแ, แ แแ แแแฉแแแแแแแแ, แแฃ แ แแแแ แแฎแแแ แแแ แแแ แขแ แแฏแ แแแแแแแชแแแแแก แแแแแ แแแแก. แกแฎแแแแแกแแแแก แชแฎแแแ แแแแก แแแกแแแแแแแแแแแ, แฉแแ แฉแ แแแแแขแแแก RPM แแแแแขแแแก:
$ cartridge pack rpm myapp -- ัะฟะฐะบัะตั ะดะปั ะฝะฐั ./myapp-0.1.0-1.rpm
$ sudo yum install ./myapp-0.1.0-1.rpm
แแแแแกแขแแแแ แแแฃแแ แแแแแขแ แจแแแชแแแก แแแแฅแแแก แงแแแแแคแแ แก, แ แแช แแญแแ แแแแแ: แ แแแแ แช แแแแแแแชแแแก, แแกแแแ แแแงแแแแแฃแ แแแแแแแแแแฃแแแแแแก. Tarantool แแกแแแ แแแแ แกแแ แแแ แแ RPM แแแแแขแแก แแแแแแแแแแฃแแแแแก แกแแฎแแ แแ แฉแแแแ แกแแ แแแกแ แแแแ แแ แแก แแแกแแจแแแแแ. แแก แแแแแแแ systemd-แแก แกแแจแฃแแแแแแ, แแแแ แแ แฏแแ แฃแแแ แแแฌแแ แแ แแแขแแ แ แแแแคแแแฃแ แแชแแ. แแแแแแฃแ, แแแฃแแแแแ แแแแแแฃแแ แแ แแชแแกแแก URI. แกแแแ แกแแแแแ แแกแแ แแแแแแแแแ.
$ sudo tee /etc/tarantool/conf.d/demo.yml <<CONFIG
myapp.router: {"advertise_uri": "localhost:3301", "http_port": 8080}
myapp.storage_A: {"advertise_uri": "localhost:3302", "http_enabled": False}
myapp.storage_B: {"advertise_uri": "localhost:3303", "http_enabled": False}
CONFIG
แแฅ แแ แแก แแ แแ แกแแแแขแแ แแกแ แแแฃแแแกแ. แแแแก แแแชแแแแ, แ แแ แแแฃแแแแแ แแฎแแแแ แแ แแแแแ แแ แแขแแแแแแก แแแ แขแ, แฉแแแ แแแแฃแกแขแแแ แแ แแชแแกแแก แแแแ แกแแฏแแ แ แแแกแแแแ แแก แฐแแกแขแแก แกแแฎแแแแก แฉแแแแแแ. แแก แแฃแชแแแแแแแแ แแแแกแแแแก, แ แแ แแแแกแขแแ แฃแแแ แแแแแซแแแแ แแชแแแแแ แ แแแแ แแแฃแแแแจแแ แแแแ แแ แแแแแแแก. แชแฃแแ แแแแแ แแแแแแงแแแแ 0.0.0.0 advertise_uri แแแกแแแแ แแแ; แแก แฃแแแ แแงแแก แแแ แ IP แแแกแแแแ แแ แแ แแ แ แกแแแแขแ. แแแแก แแแ แแจแ แแ แแคแแ แ แแแฃแจแแแแแก, แแกแ แ แแ แแแ แขแ แแฏแ แฃแแ แแแแ แแ แแแแชแแแ แกแแจแฃแแแแแแก แแแฃแจแแแ แแแแแซแ แแ แแกแฌแแ แ advertise_uri-แแ.
แแฎแแ, แ แแแแกแแช แแแแคแแแฃแ แแชแแ แแแแ แแ แแก, แจแแแแซแแแแ แแแแฌแงแแ แแ แแชแแกแแแ. แแแแแแแแ แฉแแแฃแแแแ แแแ systemd แแ แแแฃแแ แแ แแซแแแแ แแ แแแ แแแขแ แแ แแชแแกแแก แแแฌแงแแแแก แกแแจแฃแแแแแแก, แแแ แขแ แแฏแแ แแแแแแแชแแแแ แแแกแขแแแแ แแแฃแแแ แ.แฌ. แแแกแขแแแชแแฃแ แ แแ แแแฃแแแแ, แ แแแแแแแช แแฃแจแแแแแ แแกแ:
$ sudo systemctl start myapp@router
$ sudo systemctl start myapp@storage_A
$ sudo systemctl start myapp@storage_B
แแแแคแแแฃแ แแชแแแจแ แแแแแแฃแกแขแแ HTTP แแแ แขแ, แ แแแแแแแช แแแ แขแ แแฏแ แแแกแแฎแฃแ แแแ แแแ แแแขแแ แคแแแกแก - 8080. แแแแแ แแแแแแแแแ แแแกแแ แแ แแแแแแฎแแแแ:
แฉแแแ แแฎแแแแแ, แ แแ แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแ แแชแแกแแแ แแแแแแแแ แแแแก, แแกแแแ แฏแแ แแ แแ แแก แแแแคแแแฃแ แแ แแแฃแแ. แแแแแแ แฏแแ แแ แแชแแก แแแ แแแกแแแ แฃแแแ แแแแแแแ แแก แแ แแแแแฌแงแแแขแแแแแแก แแแแแฃแแแแแแแแ แแแ แแฆแแแก, แแแแขแแ แแแแแแแ แฉแแแแก แฅแแแแแแแแก. แแแแ แแ แแแแ แแ แฉแแแแแ แแ แแแแฅแแก: แแฎแแแ แแแแกแขแแ แแก แกแแชแแชแฎแแ แแฌแงแแแ แแแ แแแแ แแแแแซแแก แแแแคแแแฃแ แแชแแแ. แจแแแแแ แฉแแแ แแแแแแแขแแแ แแแแแ แฉแแแแแก แแแแกแขแแ แจแ, แแแแแแแญแแแ แแแ แ แแแแแก แแ แแ แแขแแแแ แแแแแแแแแ แจแแแซแแแแ แฉแแแแแแแแก แฌแแ แแแขแแแแ แแแกแ แฃแแแแฃแแแ.
แแแแแ แแแแแกแฎแแ แแ แแ แญแแฅแ แแฅแแแแ แกแแงแแแ แแแ แกแแกแแแแ แแ แแแแแกแแแแแ แฎแแแแ แซแแแแ แกแแแฃแจแแ แแแแ แแก แจแแแแแ. แแแแแแแชแแแก แแแแแงแแแแแ แจแแกแแซแแแแแแแ.
แจแแแแแแแ
แ แแแแ แแ แจแแแแแแแ? แกแชแแแแ, แแแแแแงแแแแ แแแ, แแแขแแแแ แแแแแฎแแแฃแ แแแ, แจแแฅแแแแแ แแแแแแแแ Github-แแ.
แแแขแแ แแขแฃแ แ
[1]
แฌแงแแ แ: www.habr.com