เบขเบนเปเบเบตเป Mail.ru Group เบเบงเบเปเบฎเบปเบฒเบกเบต Tarantool - เบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบ Lua, เปเบเบดเปเบเบเบฑเบเปเบเบตเปเบกเบเบถเปเบเบชเบญเบเปเบเบปเปเบฒเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ (เบซเบผเบทเปเบเบเบฒเบเบเบฑเบเบเบฑเบ?). เบกเบฑเบเปเบงเปเบฅเบฐเปเบขเบฑเบ, เปเบเปเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบเบถเปเบเปเบกเปเบเบเบฑเบเบเปเปเบเปเบฒเบเบฑเบ. เบเบฒเบโเบเบฑเบโเบเบฐโเปเบฒเบโเปเบโเปเบเบงโเบเบฑเปเบโเบเบฑเบโเบเปเปโเปเบกเปเบโเบขเบฒโเบเปเบฒ, เบเบฑเปเบโเบเบฑเปเบ Tarantool เบกเบตโเปเบเบทเปเบญเบโเบกเบทโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฑเบโเบเบฐโเบซเบเบฒเบโเปเบเบงโเบเบญเบ - the vshard module
เบเปเบฒเบงเบเบต: เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบฑเบเบเปเบฒเบเบฒเบเบเบฒเบเบชเบฑเบเบขเบฒเปเบซเบเป (เบเบปเบงเบขเปเบฒเบ
เบเบฑเบเบซเบฒเปเบกเปเบเบซเบเบฑเบเปเบเป?
เบเบงเบเปเบฎเบปเบฒเบกเบต tarantula, เบเบงเบเปเบฎเบปเบฒเบกเบต vshard - เบเปเบฒเบเบเปเบญเบเบเบฒเบเบซเบเบฑเบเบเบทเปเบกเบญเบตเบ?
เบเบฐเบเบฒเบเบเปเบฒเบญเบดเบ, เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบญเบเบเบงเบฒเบกเบชเบฐเบเบงเบ. เบเบฒเบเบเบฑเปเบเบเปเบฒ vshard เบเบทเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเบเบฒเบเบฐเบฅเบฒเบ Lua. เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเปเบเบเบขเบฒเบเบเบญเบเบซเบผเบฒเบเบเบฐเบเบงเบเบเบฒเบ Tarantool เปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ, เบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบญเบเบเบทเบเบฑเบเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบ. เบเปเปเบกเบตเปเบเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเปเบงเบเบเบปเบเปเบญเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบธเบเบเบฐเปเบเบเบเบญเบ scripts, Ansible, เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฒเบเปเบเปเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเป.
Cartridge เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ vshard, เบกเบฑเบเปเบฎเบฑเบเบกเบฑเบเปเบเบเบญเบตเบเปเบชเปเบเบญเบเบกเบฑเบ เบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบเบขเบฒเบเบเบญเบเบเบปเบเปเบญเบ. เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบฑเบเปเบเบฅเป YAML เบเปเบฒเบเบเบฒเบ, เบชเปเบฒเปเบเบปเบฒเบเบตเปเบเบทเบเปเบเบฑเบเปเบงเปเปเบเปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบ Tarantool. เบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเปเบกเปเบเบงเปเบฒเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเบกเบฑเบเปเบฅเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบกเบฑเบเบเบทเบเบฑเบเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบ.
เบญเบฑเบเบเบตเบชเบญเบ, เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบญเบเบเบงเบฒเบกเบชเบฐเบเบงเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเบฒเบเบเบฑเปเบเบเปเบฒ vshard เบเปเปเบกเบตเบซเบเบฑเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเบเบฝเบเปเบเป distracts programmer เบเบฒเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบฅเบฒเบง. เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเปเบเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบเบเบฐเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบชเปเบงเบเบเบธเบเบเบปเบเปเบฅเบฐเบเบฒเบเปเบเปเบเบญเบเบเบญเบเบเบงเบเบกเบฑเบ. เบกเบฑเบเปเบงเปเบเบตเบเปเบเบเบตเปเบเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเบธเปเบกเปเบเบซเบฒ 3 เบชเบนเบเบเปเปเบกเบนเบ.
เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเปเบเปโเปเบโเบเบฑเบโเบซเบฒโเปเบซเบผเบปเปเบฒโเบเบตเปโเบซเบผเบฒเบโเบเบฑเปเบโเปเบฅเบฐโเปเบโเบเบฒเบโเบเบธเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบฑเบโเบเบฒเบโเปเบเบทเปเบญโเบเบฑเบโเบเบฐโเบเบฒโเบงเบดโเบเบตโเบเบฒเบโเบเบตเปโเบเปเบฒเบโเบเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโเบฎเปเบงเบกโเบเบฑเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบฐโเบซเบผเบญเบโเบเบตโเบงเบดเบโเบเบญเบโเบเบปเบโ: เบเบฒเบโเบชเปเบฒเบโ, เบเบฒเบโเบเบฑเบโเบเบฐโเบเบฒโ, เบเบฒเบโเบเบปเบโเบชเบญเบโ, CI / CDโ, เบเบฒเบโเบเปเบฒโเบฅเบธเบโเบฎเบฑเบโเบชเบฒโ.
Cartridge เปเบเบฐเบเปเบฒเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบ Tarantool. เบเบปเบเบเบฒเบเปเบกเปเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบธเบกเปเบชเปเบเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบ. เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบกเบตเบขเบนเปเปเบเปเบเบเบเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเบปเบงเบขเปเบฒเบ Tarantool เบซเบเบถเปเบ, เปเบฅเบฐเบเบตเปเบเบฐเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ.
เบเบธเบโเบเบฐโเบชเบปเบกโเบเบฑเบโเบเบตเปโเบชเปเบฒโเบเบฑเบโเบเบญเบ Tarantool Cartridgeโ:
- orchestration เบเบธเปเบกเบญเบฑเบเบเบฐเปเบเบกเบฑเบ;
- เบเบฐเบซเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเปเบเปเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบซเบกเป;
- เปเบกเปเปเบเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเป;
- เบเบฒเบเบเปเปเบชเปเบฒเบเปเบ sharding เบญเบฑเบเบเบฐเปเบเบกเบฑเบ;
- เบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบ 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 เบเบตเปเบกเบต "เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!" เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ. เปเบซเปเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบต, เปเบเบเปเบเปเบเบดเบเบเบฑเปเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเปเบกเบทเปเบญเบเปเบญเบ (เบฅเบงเบกเบเบฑเบเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบ):
$ tarantoolctl rocks make
$ ./init.lua --http-port 8080
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบซเบเบถเปเบ node เปเบฅเปเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ sharded เปเบเบญเบฐเบเบฒเบเบปเบ. เบเบปเบเบเบตเปเบขเบฒเบเบฎเบนเปเบขเบฒเบเบฎเบนเปเบขเบฒเบเปเบซเบฑเบเบชเบฒเบกเบฒเบเปเบเบตเบเบชเปเบงเบเบเบดเบเบเปเปเบเบญเบเปเบงเบฑเบเปเบเปเบเบฑเบเบเบต, เบเบฑเปเบเบเปเบฒเบเบธเปเบกเบเบญเบเปเบซเบเบเบเบฝเบงเบเบฑเบเปเบกเบปเบฒเบชเป เปเบฅเบฐเปเบเบตเบเปเบเบตเบเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ, เปเบเปเบกเบฑเบเปเบงเปเบเบตเบเปเบเบเบตเปเบเบฐเบเบดเบเบดเบเบดเบเบเบต. เบกเบฒเบฎเบญเบเบเบฑเบเบเบธเบเบฑเบ, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบซเบเบฑเบเปเบเปเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ, เบชเบฐเบเบฑเปเบเบเปเบญเบเบเบฐเบเบญเบเบเปเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบเบฒเบเบซเบฅเบฑเบ, เปเบเปเบเบญเบเบเบตเปเปเบเบดเบเปเบงเบฅเบฒเบเบฝเบเบฅเบฐเบซเบฑเบ.
เบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
เบเบฝเบเปเบเปเบเบดเบเบเบฐเบเบฒเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบญเบญเบเปเบเบเปเบเบเบเบฒเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบ, เบเบฑเบเบเบถเบเบกเบฑเบเปเบฅเบฐเบชเปเบฒเบเบเบปเบเบฅเบฒเบเบเบฒเบเบซเบเบถเปเบเบเบฑเปเบเบเปเปเบกเบทเป.
เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบกเปเบเบเบงเบฒเบเปเบฅเบฐเบงเบฒเบเบชเบฒเบกเบญเบปเบเบเบฐเบเบญเบเปเบชเปเบกเบฑเบ: เบเบฐเบเบน, เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบฅเบฐเบเบฒเบเบฐเบฅเบฒเบ. เบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบงเบฝเบเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบทเปเบกเบญเบตเบ. เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเปเบเป vshard เปเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเบตเปเบก vshard-router เปเบฅเบฐ vshard-storage เบเบฑเบเปเบเบเบเบฒเบ. เบเบฑเบ gateway เบซเบผเบทเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบฐเบเปเปเปเบเบปเปเบฒเปเบเบดเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเปเบเบเบเบปเบ; เบเบฑเปเบเปเบกเปเบเบชเบดเปเบเบเบตเป router เปเบกเปเบเบชเปเบฒเบฅเบฑเบ, เบเบฑเปเบเปเบกเปเบเบชเบดเปเบเบเบตเปเบกเบฑเบเบเบทเบเบชเปเบฒเบเบเบถเปเบ.
เปเบเบเบงเบฒเบเบเบตเปเบเบฑเบเบเปเปเบชเบฐเปเบเบเปเบเบดเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเบขเบนเปเปเบเปเบเบเบเบฒเบเปเบเบฒเบฐเบงเปเบฒเบญเบปเบเบเบฐเบเบญเบเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเปเปเบกเบตเบเบปเบงเบเบปเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบญเบเปเบเบดเปเบเบงเปเบฒเบญเบฑเบเบเบตเปเบเบฐเบเบทเบเบเบฒเบเบเบฐเปเบเปเบชเป Tarantool เบเบตเปเปเบเปเบเบดเบเปเบเบงเปเบ - เปเบซเปเบเบฑเบเบเบธเปเบกเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบเบฐเบเบงเบเบเบฒเบ.
เบกเบตเบเบธเบเปเบฅเบฑเบเบเปเบญเบเปเบเบเบฒเบเบฎเบฑเบเบชเบฒ vshard-router เปเบฅเบฐ gateway เปเบเบเบปเบงเบขเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ. เปเบเบฑเบเบซเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบญเบเปเบเบทเบญเบเปเบฒเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบเบตเปเปเบกเปเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบเบญเบ router เปเบฅเปเบง? เบเบงเบเปเบเบปเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเปเบเบเบฐเบเบงเบเบเบฒเบเบเบฝเบงเบเบฑเบ. เบเบฑเปเบเปเบกเปเบ, เบเบฑเบ gateway เปเบฅเบฐ vshard.router.cfg เปเบกเปเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบฐเบเบงเบเบเบฒเบเบเบฝเบง, เปเบฅเบฐเปเบซเปเบเบงเบเปเบเบปเบฒเบเบปเบงเบเบฑเบเบเบฑเบเบเปเบญเบเบเบดเปเบ.
เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบญเบญเบเปเบเบ, เบกเบฑเบเบชเบฐเบเบงเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบชเบฒเบกเบญเบปเบเบเบฐเบเบญเบ, เปเบเปเบเปเบญเบ, เปเบเบเบฒเบเบฐเบเบฑเบเบเบฑเบเบเบฐเบเบฒ, เปเบเบเบฐเบเบฐเบเบตเปเบเบฝเบเบฅเบฐเบซเบฑเบ, เบเปเปเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบชเบฒเบกเบเบปเบงเบขเปเบฒเบเบเบญเบ Tarnatool. เบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเปเบญเบเบเบฝเบ gateway เบขเปเบฒเบเบเบทเบเบเปเบญเบ. เบซเบผเบทเบเบฒเบเบเบตเบเปเบญเบเบขเบฒเบเบชเบฐเปเบเบเบเบธเบเบชเบปเบกเบเบฑเบเปเบซเปเบเบฑเบเปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบเบญเบเบเปเบญเบ. เปเบเบฑเบโเบซเบเบฑเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบงเบโเปเบโเปเบเบโเบเปเบฒเบโเบเบฒเบ hassle เบเบญเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบชเบฒเบกโเบชเปเบฒโเปเบเบปเบฒโ? เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบฒเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบเปเปเบเบตเบเบกเบฒ. เบเบปเบเบเบฒเบเปเบกเปเบเปเบกเบเบนเบ lush เบเบปเบเบเบฐเบเบดเบเบตเปเบงเบปเบเบเบญเบเบเบตเบงเบดเบเบเบทเบเบเบธเปเบกเบเบญเบเปเบเบ Cartridge. เปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบกเบตเบชเบตเปเบเบญเบเบเบงเบเปเบเบปเบฒ - gateway, router, storage, scheduler. เบญเบฒเบเบเบฐเบกเบตเบซเบผเบฒเบเปเบเปเบเบเบเบฒเบเบญเบทเปเบ. เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเปเบเบเบฐเบเบงเบเบเบฒเบเบเบฝเบง, เปเบฅเบฐเบเบตเปเบเบฐเบเบฝเบเบเป.
เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบกเบฑเบเบกเบฒเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฑเปเบเบเบญเบเบซเบผเบทเบเบฒเบเบเบฐเบฅเบดเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเบเบปเบเบเบฐเบเบงเบเบเบฒเบ Tarantool เปเบเปเบฅเบฐเบเบธเบเบเบญเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบเบเบปเบเปเบญเบเบเบถเปเบเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบฎเบฒเบเปเบง:
เบเบฒเบเบเบฑเบเบเบฒเบ Topology
เบเปเปโเบกเบนเบโเบเปเบฝเบงโเบเบฑเบโเบเปเบญเบโเบเบตเปโเบเบฒโเบฅเบฐโเบเบปเบโเบเบฒเบโเบเปเบฒโเบฅเบฑเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเปเบงเปโเบเบฒเบโเบเปเบญเบโ. เปเบฅเบฐ "เบเบฒเบเบเปเบญเบ" เบเบตเปเปเบกเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบเบเบขเบฒเบ, เปเบเบดเปเบเบเปเบญเบเปเบเปเบเปเบฒเบงเบกเบฒเปเบฅเปเบงเบเปเบฒเบเปเบเบดเบ. เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบเปเบฝเบงเบเบฑเบเบกเบฑเบเปเบกเปเบ topology เบเบญเบเบเบธเปเบก. เบเบตเปเปเบกเปเบ 3 เบเบธเปเบก replication เบเบญเบ 5 เบเบฐเบเบงเบเบเบฒเบ Tarantool:
เบเบงเบเปเบฎเบปเบฒเบเปเปเบเปเบญเบเบเบฒเบเบชเบนเบเปเบชเบเบเปเปเบกเบนเบ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเปเบเบเปเบงเบเบเบงเบฒเบกเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบ. Cartridge เบเบดเบเบเบฒเบกเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบเปเบเปเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบชเบญเบเปเบฅเบเบฐ. เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฑเบเบเบธเบเบเบฒเบเบเบฑเปเบเบเปเบฒ, เบกเบฑเบเบเปเบฒเบญเบดเบเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบปเบงเบขเปเบฒเบเบเบฑเบเบซเบกเบปเบเบกเบตเบขเบนเปเปเบฅเบฐเบเปเบญเบกเบเบตเปเบเบฐเบเบญเบกเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบซเบกเป. เบซเบผเบฑเบเบเบฒเบเบเบตเป, เปเบฅเบเบฐเบเบตเบชเบญเบเปเบเป config. เบเบฑเปเบเบเบฑเปเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบชเปเบฒเปเบเบปเบฒเบซเบเบถเปเบเบเบฐเบเบฒเบเปเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเบปเปเบงเบเบฒเบง, เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบเปเปเบเบตเบเบฐเปเบเบตเบเบเบถเปเบ. เบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบฐโเบเปเปโเปเบเปโเบเบทเบโเบเปเบฒโเปเบเปโเบขเปเบฒเบโเบเปเบฒเบโเบเบฒเบโเปเบฅเบฐโเบเปเบฒเบโเบเบฐโเปเบซเบฑเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเบฅเปเบงเบโเบซเบเปเบฒโ.
เบเบญเบเบเบฒเบเบเบตเปเปเบเบเบฒเบ topology, เปเบเบฑเปเบ: เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบเบฑเบเบเบนเปเบเปเบฒเบเบญเบเปเบเปเบฅเบฐเบเบธเปเบก replication เปเบกเปเบเบเบตเปเปเบซเปเปเบซเบฑเบ. เบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเบตเปเปเบกเปเบเบชเปเบฒเปเบเบปเบฒเบเบตเปเบเปเบฒเบฅเบฑเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเป. เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบชเปเบงเบเบซเบผเบฒเบเปเบกเปเบเบญเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบญเบฒเบเบเบฐเบกเบตเบเปเปเบเบปเบเปเบงเบฑเปเบ. เบเบฒเบเบเบฑเปเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเปเบฒเบซเบฒเบเบเปเปเบขเปเบฒเบเบเบงเบฒเบกเบเบฑเบเปเบเปเบเปเบฅเบฐเบชเบฒเบกเบฒเบเบเบฝเบเบเปเปเบกเบนเบเปเบชเปเบซเบผเบฒเบเป replicas เปเบเบเบฐเบซเบเบฒเบ, เปเบเปเบกเบตเบเบฒเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเป, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเปเบเบงเปเบ, เบเปเปเบเบงเบเบเบฐเบเบดเบเบฑเบเบชเบญเบเบเบฑเปเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบกเบตเบญเบฒเบเบฒเบเบเบญเบเบเบนเปเบเปเบฒ.
เบเบตเบงเบดเบเบเบญเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบ
เบชเปเบฒเบฅเบฑเบเบเบปเบเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเบปเบงเบเบปเบเบเบตเปเบเบฐเบกเบตเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบฑเปเบเบเปเบฒเบง, เบเบญเบเบเปเบญเบเบเบธเปเบกเบเบญเบเบเบงเบเบกเบฑเบเบเบฒเบเบขเปเบฒเบ. เบเบฒเบกเบเปเบฒเบกเบฐเบเบฒเบ, เบเบฒเบเบเบงเบเบเบธเบกเปเบเบตเบเบเบถเปเบเปเบเบเบเปเปเบกเบตเบเบฒเบ restarting เบเบฐเบเบงเบเบเบฒเบ Tarantool. เบกเบต 4 callback เปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบปเบเบเบฒเบ. Cartridge เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเบฐเปเบเบซเบฒเบเบงเบเปเบเบปเบฒเปเบเบเบญเบตเบเบเบฒเบกเบชเบดเปเบเบเบตเปเบเบฝเบเปเบงเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบเบเบขเบฒเบเบเบญเบเบกเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฑเบเบเบปเบเบเบฒเบเบชเบฐเปเบเบฒเบฐ.
function init()
function validate_config()
function apply_config()
function stop()
เปเบเปเบฅเบฐเบเบปเบเบเบฒเบเบกเบตเบซเบเปเบฒเบเบตเป init
. เบกเบฑเบเบเบทเบเปเบญเบตเปเบเบงเปเบฒเบเบฑเปเบเบเบฝเบงเปเบกเบทเปเบญเบเบปเบเบเบฒเบเบเบทเบเปเบเบตเบเปเบเปเบเบฒเบเบซเบผเบทเปเบกเบทเปเบญ Tarantool เบเบทเบเปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเป. เบกเบฑเบเบชเบฐเบเบงเบเบขเบนเปเบเบตเปเบเบฑเปเบ, เบเบปเบงเบขเปเบฒเบ, เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ box.space.create, เบซเบผเบทเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบชเบฒเบกเบฒเบเปเบเบตเบเบเบปเบงเปเบชเบฑเปเบเปเบเบเบทเปเบเบซเบฅเบฑเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบเปเบงเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบเบญเบ.
เบซเบเบถเปเบเบซเบเปเบฒเบเบตเป init
เบญเบฒเบเบเบฐเบเปเปเบเบฝเบเบเป. Cartridge เบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโเบเบฒโเบฅเบฐโเบเบปเบโเบเบฒเบโเปเบเบทเปเบญโเปเบเปโเบเบฐโเปเบซเบเบโเบเบฒเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบเบโเบขเบฒเบโเบกเบฑเบโเบเปเบฒโเปเบเปโเปเบเบทเปเบญโเปเบเบฑเบ topology เปเบเปโ. เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฐเบเบฒเบเบเบฒเบเบชเปเบงเบเปเบซเบกเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฝเบงเบเบฑเบเปเบฅเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบดเปเบเบชเปเบงเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบธเบฅเบฐเบเบดเบเบขเบนเปเปเบเบกเบฑเบ. เปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเปเบญเบ, เบเบตเปเบญเบฒเบเบเบฐเปเบเบฑเบเบฎเบนเบเปเบเบเบเปเปเบกเบนเบเบซเบผเบทเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบฐเบฅเบฒเบเบชเปเบฒเบฅเบฑเบเบเบปเบเบเบฒเบเบเบญเบเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒ.
เบเบฒเบเปเบเบเบธเปเบก validate_config
ะธ apply_config
เบเบธเบเปเบเบฑเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบเบเบขเบฒเบ. เปเบกเบทเปเบญเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบทเบเบเปเบฒเปเบเปเบเปเปเบเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบชเบญเบเปเบฅเบเบฐ, เบเบธเปเบกเบเบฐเบเบงเบเปเบเบดเปเบเบงเปเบฒเปเบเปเบฅเบฐเบเบปเบเบเบฒเบเปเบกเปเบเบเปเบญเบกเบเบตเปเบเบฐเบเบญเบกเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบซเบกเปเบเบตเปเปเบฅเบฐ, เบเปเบฒเบเปเบฒเปเบเบฑเบ, เบฅเบฒเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเปเปเบเบนเปเปเบเป. เปเบเปเบงเบฅเบฒเบเบตเปเบเบธเบเบเบปเบเบเบปเบเบฅเบปเบเปเบซเบฑเบเบเบตเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเปเบเบเบปเบเบเบฐเบเบด, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ apply_config
.
เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบฑเบเบกเบตเบงเบดเบเบตเบเบฒเบ stop
, เปเบเบดเปเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบ. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเบงเปเบฒเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเปเปเบเปเบฒเปเบเบฑเบเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเป, เบกเบฑเบเบชเบฒเบกเบฒเบเบขเบธเบเปเบชเบฑเปเบเปเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบตเปเบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ init
.
เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบชเบฒเบกเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเปเบเปเปเบเบเบฒเบเบเบฝเบเบเบฑเบเบเบฑเบเปเบเปเบ Lua, เปเบเปเบกเบฑเบเบญเบฒเบเบเบฐเปเบเบตเบเบเบทเปเบเบงเปเบฒเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเปเบฒเบเบปเบเบเปเปเบกเบตเบเบปเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ. เปเบเบทเปเบญเบญเปเบฒเบเบงเบเบเบงเบฒเบกเบชเบฐเบเบงเบเปเบเบเบฒเบเปเบเบเปเบฒเบเปเบเบทเบญเบเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบกเบเบนเบเบเปเบงเบ rpc (เปเบฅเบเบฐเปเบเบเบฒเบเปเบ), เปเบเบดเปเบเบชเปเบฒเบเบเบถเปเบเบเบปเบเบเบทเปเบเบเบฒเบเบเบญเบ netbox เบกเบฒเบเบเบฐเบเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบ Tarantool. เบเบตเปเบชเบฒเบกเบฒเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเปเบฒเบซเบฒเบเบงเปเบฒ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, gateway เบเบญเบเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบเบเบปเบเบเปเปเบซเปเบเบนเปเบเปเบฒเบเบปเบเปเบงเบฅเบฒเปเบฎเบฑเบเบงเบฝเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เปเบเบเบเบตเปเบเบฐเบฅเปเบเปเบฒเบกเบทเป.
เบเบธเบเบชเปเบฒเบเบฑเบเบญเบตเบเบญเบฑเบเบซเบเบถเปเบเปเบกเปเบเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเบปเบเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เปเบชเปเบเบญเบเปเบเปเปเบเบฃเปเบเบเป SWIM เปเบเบทเปเบญเบเบดเบเบเบฒเบกเบชเบธเบเบฐเบเบฒเบ
เบญเบตเบเบเบฒเบกเปเบเปเบเบเบญเบเบเบตเป, Cartridge เบเบฑเบเบเบฑเปเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเบเบดเบเบเบฒเบกเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบญเบเบกเบฑเบ, เปเบฅเบฐเบเปเบฒเบเบนเปเบเปเบฒเบขเบธเบเปเบเบปเบฒเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบขเปเบฒเบเบเบฐเบเบฑเบเบซเบฑเบ, เบเบฒเบเบเปเบฒเบฅเบญเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเปเบเบญเบเบเบปเบ, เปเบฅเบฐ Cartridge เบเบฐเบเปเบฒเบเบปเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก.
เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบขเบนเปเบเบตเปเบเบตเป, เปเบเบฒเบฐเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเปเบฅเบทเปเบญเบเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบชเบนเปเบเปเปเบเบฑเบเปเบเปเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฒเบฅเบญเบ. เปเบเปเบเบญเบ, เบเปเบฒเบเบเปเปเบเบงเบเปเบเบตเบเปเบเปเบเบฒเบเบเบฒเบเบฅเบปเปเบกเปเบซเบฅเบงเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบชเบธเปเบก. เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเปเบเบปเปเบฒเปเบเบขเปเบฒเบเบเบฐเปเบเปเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบเปเบฒเบฅเบญเบเบเบฐเบเปเปเปเบเบเบซเบฑเบเบซเบผเบฑเบเบเบฒเบเบเบนเปเบเปเบฒเบเบทเบเบเบทเปเบเบเบนเปเบฅเบฐเบกเบปเบเบเบธเบเบเบทเบเบชเบปเปเบเบเบทเบเปเบซเปเบฅเบฒเบง.
เบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเป, เบเปเบฒเบเบญเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบงเปเบฒเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ microservices. เปเบเบเบงเบฒเบกเบฎเบนเปเบชเบถเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบกเปเบเบเบฝเบเปเบเปเบงเปเบฒ, เบเบฝเบเปเบเปเปเบเบฑเบเปเบกเบเบนเบเบเบฒเบเปเบเบเบฐเบเบงเบเบเบฒเบ Tarantool. เปเบเปเบเบฑเบเบกเบตเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบทเปเบเบเบฒเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ. เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเบธเบเปเบเบปเบเบเบฒเบเบเบญเบเปเบเบเบเบฒเบเบเปเบญเบเบขเบนเปเปเบเบเบทเปเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเบฝเบงเบเบฑเบ. เปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบ Tarantool เบเบฑเบเบซเบกเบปเบเบเบงเบเบเบฐเบเบทเบเปเบเบตเบเบเบปเบงเบเบฒเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเบฝเบงเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเปเปเบกเบตเบเบงเบฒเบกเปเบเบเปเบเบเบทเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบฅเบตเปเบกเบเบปเปเบเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒ, เปเบเปเบกเบฑเบเบเปเปเบกเบตเบขเบนเป. เบเบญเบเบเบฒเบเบเบตเป, เบเปเบฒเบเบเปเปเบเบงเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบกเบตเบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบเบชเบฐเบเบฑเบเบฅเบฐเบซเบฑเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบถเบเบเบดเบเปเบฒเบเบญเบเบฅเบฐเบเบปเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบฒเบเบเบฐเปเบเปเบฅเบฐ debug.
เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบ Docker, เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบเปเบกเบตเบเบปเบเบเบฒเบ "เบฎเบนเบเบเบฒเบ", เปเบญเบปเบฒเบกเบฑเบเปเบเปเบชเปเปเบเบทเปเบญเบเบญเบทเปเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เบเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบขเบนเปเปเบเบเบเปเบฝเบงเบเบทเบเบฑเบ Docker containers. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบชเบญเบเบเบปเบเบเบฒเบเบเบฝเบงเบเบฑเบเบขเบนเปเปเบเบเบปเบงเบขเปเบฒเบเบเบฝเบง. เบเบปเบเบเบฒเบเบกเบตเบขเบนเป เบซเบผเบทเบเปเปเบกเบต; เปเบเบเบงเบฒเบกเปเบฒเบ, เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฝเบง. เปเบฅเบฐเบญเบฑเบเบเบตเบชเบฒเบก, เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเปเบญเบเบเบทเบเบฑเบเบเบฒเบเปเบเบเบธเปเบก replication เบเบฑเบเบซเบกเบปเบ, เปเบเบฒเบฐเบงเปเบฒเบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเบฐเปเบเป - เบเปเปเบกเบนเบเปเบกเปเบเบเบทเบเบฑเบ, เปเบเปเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเปเบเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบเบทเปเบญเบเบกเบทเบเบณเปเบเป
เบเปเบญเบเบชเบฑเบเบเบฒเบงเปเบฒเบเบฐเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบ Cartridge เบเปเบงเบเบเบฑเบเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ. เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบตเบงเบดเบเบเบญเบเบเบปเบเบญเบทเปเบเบเปเบฒเบเบเบถเปเบ, เบเบญเบเบเบฒเบเบซเบธเปเบกเบซเปเปเบซเบธเปเบกเบซเปเป 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
เบกเบต nuance เบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบขเบนเปเบเบตเปเบเบตเป. เปเบเบเบเบตเปเบเบฐเบฅเบฐเบเบธเบเบฝเบเปเบเปเบเบญเบ binary protocol, เบเบงเบเปเบฎเบปเบฒเบฅเบฐเบเบธเบเบตเปเบขเบนเปเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบฑเบเบซเบกเบปเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบฅเบงเบกเบเบฑเบเบเบทเปเปเบเบปเปเบฒเบเบฒเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเปเบซเป nodes cluster เบฎเบนเปเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบเปเปเบเบตเบเบตเปเบเบฐเปเบเป 0.0.0.0 เปเบเบฑเบเบเบตเปเบขเบนเป advertise_uri; เบกเบฑเบเบเบงเบเบเบฐเปเบเบฑเบเบเบตเปเบขเบนเป IP เบเบฒเบเบเบญเบ, เบเปเปเปเบกเปเบเบเบฒเบเบเบนเบเบกเบฑเบเปเบเบปเปเบฒเบชเบฝเบ. เบเปเบฒเบเปเปเบกเบตเบกเบฑเบ, เบเปเปเบกเบตเบซเบเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบ, เบเบฑเปเบเบเบฑเปเบ Cartridge เบเบฝเบเปเบเปเบเบฐเบเปเปเบเปเบญเบเปเบซเปเบเปเบฒเบเปเบเบตเบเบเบปเบง node เบเบฑเบ advertise_uri เบเบตเปเบเปเปเบเบทเบเบเปเบญเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเปเบเบเบฝเบกเบเปเบญเบก, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฐเบเบงเบเบเบฒเบเบเปเบฒเบเป. เปเบเบทเปเบญเบเบเบฒเบเบซเบเปเบงเบเบเบฒเบเบฅเบฐเบเบปเบเบเบปเบเบเบฐเบเบดเบเปเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบ Cartridge เปเบเปเบเบทเบเบเบดเบเบเบฑเปเบเปเบเบเบญเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ. เบซเบเปเบงเบเบเบฒเบเบเบฑเบเบเบตเบเบตเปเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเบตเป:
$ sudo systemctl start myapp@router
$ sudo systemctl start myapp@storage_A
$ sudo systemctl start myapp@storage_B
เปเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒ, เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบฅเบฐโเบเบธโเบเบญเบ HTTP เบเบตเป Cartridge เบฎเบฑเบโเปเบเปโเปเบโเบเบฒเบโเปเบเปโเบเบญเบโเปเบงเบฑเบโเปเบโเบโเป - 8080. เปเบซเปโเปเบโเปเบเบดเปเบโเบกเบฑเบโเปเบฅเบฐโเปเบเบดเปเบโ:
เบเบงเบโเปเบฎเบปเบฒโเปเบซเบฑเบโเบงเปเบฒโเปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเบเบฐโเบเบงเบโเบเบฒเบโเบเปเบฒโเบฅเบฑเบโเปเบฅเปเบโ, เบเบงเบโเปเบเบปเบฒโเปเบเบปเปเบฒโเบเบฑเบโเบเปเปโเปเบเปโเบเปเบฒโเบเบปเบโเบเปเบฒโ. เปเบชเปเบเบญเบเบเบฑเบเบเปเปเบฎเบนเปเบงเปเบฒเปเบเบเบงเบ replicate เบเบฑเบเปเบเปเบฅเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเบชเบดเบเปเบเบเปเบงเบเบเบปเบเปเบญเบ, เบชเบฐเบเบฑเปเบเบกเบฑเบเบฅเปเบเปเบฒเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเปเปเบกเบตเบเบฒเบเปเบฅเบทเบญเบเบซเบผเบฒเบ: เบเบตเบงเบดเบเบเบญเบเบเบธเปเบกเปเบซเบกเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบ node เบเปเบฒเบญเบดเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบเบปเบเบญเบทเปเบเปเบเบปเปเบฒเปเบเปเบเบเบธเปเบก, เบเปเบฒเบเบปเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ, เปเบฅเบฐเปเบเบเบธเบเบเบตเป, เบเบฒเบเบเบดเบเบเบฑเปเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบชเปเบฒเปเบฅเบฑเบ.
เปเบซเปเบเบญเบเบเบญเบเปเบเบทเปเบญเบเบเบทเปเบกเบเบตเปเบเปเบฒเบเบกเบฑเบ เปเบฅเบฐเบเปเบญเบเบเบฒเบเบซเบผเบฑเบเบเบฒเบเบญเบฒเบเบดเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบเบฒเบงเบเบฒเบ. เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเป.
เบเบปเบเปเบเปเบฎเบฑเบ
เบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบซเบเบฑเบ? เบฅเบญเบเปเบเปเบกเบฑเบ, เบญเบญเบเบเปเบฒเบเบดเบเปเบซเบฑเบ, เบชเปเบฒเบเบเบตเปเปเบ Github.
เปเบญเบเบฐเบชเบฒเบ
[1]
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com