ααΎααα
Mail.ru Group ααΆα Tarantool - αααααΊααΆαααΆαααΈααααααααα·ααΈαα
αααα»α Lua αααααΆααΌαααααΆααα·αααααααα½ααααα
αΌαααααΆ (α¬αααα»ααααα·α?) α ααΆααΏα αα·ααααααΆαα ααα»ααααααααααΆααααααΆαααΈααααααα½ααα
αααα·αααΆαααααααααα ααΆαααααΎααΆαααααααΆαααααααααα·ααααααΆ panacea ααα ααΌα
αααα Tarantool ααΆαα§ααααααααααΆααααααΎααΆαααααααΆαααααα β αααΌαα»α vshard
ααααΉαααα’α ααΎαααΆααααααΌαααα (α§ααΆα ααα
α αΎαααΎα’αααΈααΆαααα αΆ?
ααΎαααΆα tarantula ααΎαααΆα vshard - ααΎα’αααα ααααΆαα’αααΈααα?
ααΈαα½αααΆααΆαααα αΆααααΆαααΆααααα½αα ααΆαααααααα ααΆαααααααα vshard ααααΌαααΆαααααααα ααΆααααααααααΆααααααΆααΆα Lua α αααααΆααααααααααα ααα αΆαααααααΎαααΆα Tarantool α αααΎαααΎααααΈααααΎαααΆαααΆαααααΉαααααΌα ααΆαααααααα ααΆααααααααααααΌαααααΌα ααααΆαα αααααααΈααααααα ααααΆαααααΆααααΆααα ααααααΎααΆαααααααα ααΌα αααα ααααααΈαααααααααααα Ansible ααααααααααΆαααααααΆαααααΌαααΆαααααΎααααΆααα
Cartridge αααααααααβααΆαβαααααβαα ααΆαααααααα vshard αααβαααα½αβααΆ ααΆβααααΎβααΆβαααβααα’ααβααΎβααΆβααααΆαα ααΆαααααααα ααΆααααααααα ααα αΆαααααΆαααααα½α. ααΆααΌαα ααΆααΆα―αααΆα YAML ααΆαααα αααα αααΆααα ααααααααΌαααΆααααααΆαα»ααα αααα»ααααααααααΈαααα Tarantool α ααΆαααΆαααααααα·ααα αααα»αααΆααα·ααααααΆααααααααααααα½αααΆαααα½ααα·αα·αααααΆαααααααα ααΆααααααααααααααΆ α αΎαααΆααΆααΆααΆααΌα ααααΆαα αααααααΈααααααα
ααΈααΈα ααΆααΆαααα αΆααααΆαααΆααααα½ααααααααα ααΆαααααααα ααΆαααααααα vshard αα·αααΆαα’αααΈαααααααΌαααααΎααΆαα½αααΆαα’αα·αααααααααααα·ααααΆα’αΆααΈααααααα α αΎαααααΆααααααααΆαα’αααααααααααααα·ααΈααΈααΆαααΆαααα»αααααα αα αααααΎααα·ααΆααααΆα’αααΈααααΆαααααααααααααααα ααΆαα αααΎαααΎααααα»ααα·ααΆαα’αααΈααΆαα»ααααααΈαα½αα αα·αα’αααααααααααααα½αααα ααΆααΏαααααααα»αααΆααα·αα’αααΈααΆαααΆααα ααααΌαα ααααααααααΆααααααααααααα·ααααααα ααα½α 3 α
ααΎαααΆααααααααΆααααα αΆααΆαααααααααααααΆα α αΎααα α ααα»α αααα ααΎαα’αΆα αααααΎααα·ααΈααΆααααααααα’αα»ααααΆαα±ααααΎαααααα½αααΆαααΆαααΆαα½ααααααα·ααΈααααα½αααααααΈαα·αααααααΆα ααΆααααααΎα ααΆαα’αα·αααααα ααΆαααααΎααααα CI/CD ααΆαααααΆαα
Cartridge ααααΆαααααααα·ααααα½ααΆααΈαααααΆααααααΎαααΆα 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 ααΆαα½α "ααααΆααα½ααα·ααααα!" αααααα·ααΈα αααααααΆααΆαααααΎαααΆαααΆααααΆαα αααααΆααααΈααα‘αΎαααΆαα’αΆααααα (αα½αααΆααααααααααααααα½αα―α)α
$ tarantoolctl rocks make
$ ./init.lua --http-port 8080
ααΌα αααα ααΎαααΆαααααΆαααα½ααααααααα·ααΈ sharded ααΆαααα’ααΆααααααααα»αααααΎαααΆαα αα»ααααα·ααααα ααααΉαα ααααΎαα’αΆα ααΎαα ααα»α αααααΆαααααααΆαααααΆαα ααααααα ααΆααααααααα αααααααΈααααΆαααα½ααααααααΎααααα»α α αΎαααΈαααΆαααΉααααααα ααα»ααααααΆααΏαααααααα»αααΆαααΈαααΆαα αα αΌαααααααααααααααααα·ααΈαα·αααΉαααΈααααααααΎα’αααΈαααααΆαααααααααααααΌα αααααααα»αααΉααα·ααΆαα’αααΈααΆαααΆαααααααΆααα ααααααααα αΎαα₯α‘αΌααααααΆαααααααααααααΌααααααααΌαα
ααΆαα’αα·ααααααααααα·ααΈ
ααααΆααααααααα ααΎααααα»ααα ααΆααααααααααα½αααα½ααα·αααααα αααααΆαα»αααΆ αα·ααααααΎααααΆαααΆααααααααααα»ααα½αααααα
ααΎαα
αΆααααααΎαααΌαααααΆααααΆα α αΎαααΆααααΆαα»ααααααΈαα
ααΎααΆα α
αααααααΌα αααααααααα»α αα·ααααααα·ααΈααααααααα ααΎααααα»αααααΎααΆαααΎααααΆααααααααα αααααΆαααΎαααααΎ vshard ααΆαααααααααα»α ααΎααααααα vshard-router αα·α vshard-storage αα
αααα»ααααααααΆαααα ααΆααα
αααααααΌα α¬αααααα·ααΈααααααααααΉαα
αΌαααααΎαααααααααα»ααααααααΆαα ααΆαααααααααααααΆααααΆ ααΆααααΌαααΆααααααΎαα‘αΎααααααΆααααΏααααα
ααααΆααααΆαααααα
αααα·ααααα»ααααα
αΆαααααΆαααααΉαααααΌαα’αααΈα’αααΈαααααΎαααΉααααααΎααα
αααα»αααααααααααα ααΈαααααααΆαα»ααααααΎααα
α’ααΌααΈα ααΎααα
ααααααΌαααΎαααΈαααααααααΆααααΌαααΆαααααΆαααα
ααΎ Tarantool αα·αααααΆαα - α
αΌαααΎαααΆααααΆαααα»ααααΆαααΆαα»ααααααΎαααΆαααααΎαααΆαα
ααΆααα ααα»αααα·α
αα½α
αααα»αααΆααααααΆ vshard-router αα·α gateway αα
ααΎααααΈααΆα
ααααα‘ααα α ααα»α’αααΈααΆαααΆααΎαααααΌαααααααΆαααααααΆαααααααα ααααα·αααΎαααααΆαααα½ααα»αααααΌαααααααααααα? αα½αααααααΌαααααααΎαααΆααααα»αααααΎαααΆαααΌα
ααααΆα αααααΊααΆαα gateway αα·α vshard.router.cfg ααααΌαααΆαα
αΆααααααΎααα
αααα»αααααΎαααΆααα½α α αΎαα’αα»ααααΆαα±αααα½αααΆααααΎα’αααααααααααα»αααΌαααααΆαα
αα ααααΆααααΆααα ααΆ ααΆααΆααααα½ααααα»αααΆαααααΎααΆαααΆαα½ααααΆαααΆαααΈ ααα»αααααααα»αααΆαααΆα’αααα’αα·αααααα αααααααααα»ααααααααΌα αααα»ααα·αα αααα·αα’αααΈααΆαααααΎαααΆαααΈα§ααΆα ααααα Tarnatool ααα αααα»αααααΌαααααΎαααΆαααααα α αΎααα·αα·αααααΎαααΆαααα»αααααα gateway ααααΉαααααΌαα α¬αααα ααααΆαααα»αα αααααα αΆααααααααα·ααααα½αααααα αααα·ααααααααα»αα α ααα»α’αααΈβααΆαβααΆβαααα»αβαα½αβααααΆαβααΆαα½αβααΉαβααΆαβααΆααβαααααΆαβααααΈβααΈ? αααααΆααααααααααα·ααααα½ααΆααΈααΆαααΎαααα αα½ααΆααΈααΊααΆαααΌαα»α lush ααααααΆ ααααααΈαα·αααααααααααααααα Cartridge α αααα»αα§ααΆα ααααααααΆααα½ααααα»αα αααααα½ααα - α αααααααΌα, ααααααα, ααΆααααα»α, αααααα·ααΈααααααααα α’αΆα ααΆαα αααΎαααααα αααα»ααααααααα½αααααααααα αα½ααΆααΈααΆααα’ααα’αΆα ααααΎαααΆααααα»αααααΎαααΆααααα½α α αΎαααΆαααααααααΆααα αΎαα
α αΎααα
ααααααααΆαααααααΆαααΆαααααααΆααααααααΆααααΆα α¬ααΆαααα·α αααααΎαααΉαα
αΆααα
ααααααΎαααΆα Tarantool ααΈαα½ααααΌααα½ααΆααΈααααααΆα’αΆαααααααΎαααααααΆααααααααΉαα
ααΆαααααααααα Topology
ααααααΆαα’αααΈααααααααααα½ααΆααΈαααα»αααααΎαααΆαααααΌααααααααΆαα»ααα ααααααααΆαα½αα α αΎα "ααααααααΆαα½α" αααααΊααΆααΆαααααααα ααΆααααααααα ααα αΆα ααααααα»αααΆααααααΆααααΆαααΎαα½α α αΎαα α’αααΈαααααααΆαααααα»ααα αααα»αααΆααΊ topology ααα αααααα αααααΊααΆαααα»αα ααααα ααα½α 3 ααααααΎαααΆα Tarantool α ααα½α 5α
ααΎααα·αα
ααααΆααααααα·αααααα ααΌα
ααααααΎαααα
α·ααααα»αααΆααααΎααααααΆαα’αααΈααααΎαααΆαααααααα»αααααΎαααΆαα Cartridge αααααΆααΆαααααΆαααααααα
ααΆααααααααααΆαα½αααΉαααΆαααααααααΆα
α·αααααΈαααααΆααααΆαα αααΆαααΆααΎαα
ααααααΎαα
αα
α»ααααααααΆαααΆαααααααα
ααΆαααααααα ααΆααααΌαααΆαα·αα·αααααΆαααααααααΈααΆααα’ααααΊα’αΆα
ααααΆα αα·ααα½α
ααΆααααΎααααΈααα½αααααΆααααααααααΈα αααααΆααααΈαααααααΆααααΆαααΈααΈαα’αα»ααααααΆααααααα ααΌα
αααα αααααΈααΆα
αααΆααα
αααααα½αα
αααΆαααα·αα’αΆα
ααααΎααΆαααααααα’αΆααααααααα ααααααΆαα’αααΈα’αΆαααααααΎαα‘αΎααααα ααΆαααααααα
ααΆααααααααααΉααα·αα’αα»αααααα α αΎαα’αααααΉαααΎαααα α»αααΆαα»αα
ααααα topology ααααΆααααΆαααΆααααααααααΆααααΌα ααΆα’αααααΉαααΆααααααα»αα ααααααΈαα½ααα αααααΆααααααΆααΆα§ααΆα αααααααααα»αααααΌαααΆαααααααα α αα αααα αααΎαααα’αΆαααααα»ααααα αααααΈααΆα’αΆα ααΆαααααΈααΎαααααααααα αααααααα’αααα’αα·ααααααααααααΆα αΆααα·αααααΆα ααΆααααααααα·α αα·αα’αΆα ααααααα·αααααααα ααΆαα ααααααΆα αααΎαααααααααΆ ααα»ααααααΆαααααα·ααααα·ααΆααα½αα ααα½αααααααααΆα’αααΈαααΆααα’αααα·ααα½αααααΌαααΆαα’αα»ααααααΈααααααααα αααααΆαααααααΆααααααΆααα’αααααΉαααΆαα
ααΈαα·ααααα½ααΆααΈ
ααΎααααΈα±αααα½ααΆααΈα’ααΌααΈααΆααα αααα»αααααΆαααααααααααααα αααααααααααααΌαααααααααααααα½αααΆααΆαααααααΆαα½αα ααΆαααααααΆαα· ααΆααααααααααααΎαα‘αΎαααααα·αα αΆααααααΎαααααΎαααΆα Tarantool α‘αΎααα·αα ααΆαααΆαα α αααα‘αααααα·αα ααα½α 4 αααααΆααααΆαααααααααααα½ααΆααΈα 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 α ααΆα’αΆα ααΆααααααααα ααααα·αααΎααΆα§ααΆα ααα α αααααααΌαααααα’αααα αααα½αα’ααααααααααααααααααΆααα±ααααααΎααΆαααΆααα αααααα ααΆααΆααααα αΆααα½αααααα
α
ααα»α
ααααΆαααα½ααααααΊααΆααΆααΆαα’ααα±αα
ααααααα α»αα Cartridge ααααΎαα·ααΈααΆα SWIM ααΎααααΈααΆαααΆααα»αααΆα
αααααα’ααααΎαα·ααΈααΆαααα Cartridge αααα
αααΆααααααααααααΆααααΆααααααααααααααααααα·α ααααΎαααΆαααΈαα½ααααΆαααΆαααα·ααΆααΆαααααααΆ α αΎαααααα·αααΎα’αααααΉαααΆαααααΆααααααααααααΎααα αααα’αααα
ααααα’αΆα
ααΆααααΆαααα½ααΆααΈααααααΆ α αΎα Cartridge ααααααα
ααΆαααααααααα½ααΆααΈααααααα»αααααΎαααΆααα
ααΆααααα
α’αααααααΌααααα»ααααααααααα
ααΈααα ααΈαααααααΆαααααΌααα
ααααΉαααΆααα’αΆα
ααΆαα’ααααΆααααααααα·ααααααααα‘α»ααααα
ααααα ααΆααΆααα·αααΆααααΆαααΎαααΆααααΆααααααααααααααααααα·αααα
αααααααΊαα·αααΆααααααααα α’αααααααΌαααααααΆαα
αααΆααα’αααΈα’αααΈααααααα»αααΎαα‘αΎα α αΎαααααΌαααααΆααααΆααΆαα
ααααααΉααα·αααΌα
αα αααααΆααααΈα’αααααΉαααΆαααααΌαααΆαααααΆαα‘αΎααα·α α αΎαααα»αααααΌαααΆαααααααααΌαααΆαααα·αα
ααΈα ααα»α ααΆααα’ααααΆαααΎ α’αααα’αΆα ααΆαα’αΆααααααααΆαα½ααΆααΈααΊααΌα ααΆααααΆααΈααααΌα αααα»αααααα½α αα½αααααααΆααααααΆαααΌαα»ααα αααα»αααααΎαααΆα Tarantool ααα»αααααα ααα»ααααααααΆαααΆααα»αααααΆααΆααΌαααααΆααα½αα ααα½ααααααα ααΈαα½α αα½ααΆααΈααααααααΆααα’ααααααΌαααααααα αααα»αααΌαααααΆαααΌαααΌα ααααΆα α αΎαααααΎαααΆα Tarantool ααΆααα’ααααααΌαααααααΎαααΆαααΈααΌαααααΆαααΌαααΌα ααααΆ ααΎααααΈαα»αα±ααααΆαααΆαααααΆααααα’αΎαααΌα ααααααααΎαααααΆααΆαα αΆααααααΎααααααα·ααΈααααααααααα»ααααααΆαα·αααΆαααα ααΌα ααααΆαααααααα, α’ααααα·ααα½αα’αα»ααααΆαα±ααααΆαααΆααα»αααααΆαα αααα»αααααααΌα, αααααΆαααα₯αα·ααΆαααααααααααααααα»αααααΆαααΆαααααααααΊαα·ααΆαααΆαααααα»αααΆαααααααααΆααα·αααααΆααααα α»αα
αα·αααΌα Docker αα ααΎααα·αα’αΆα ααααΆαααααα "ααΌαααΆα" αααα½ααΆααΈαα½α ααααΆαα αααΆαααΈααααααααα α αΎαααααΎαααΆαααΆαα ααΈααααααααα αα½ααΆααΈααααααΎααα·αααΆα αααααΆαααΈ Docker containers ααα ααΌα ααααΆαααααααα ααΎααα·αα’αΆα ααααΎαααΆααα½ααΆααΈααΌα ααααΆααΈααα ααΎα§ααΆα ααααααα½αααΆαααα αα½ααΆααΈαα½αααΊαα ααΈααα α¬ααΆαα·αααΆα αααα»ααααααΆααΆααΆ singletonα α αΎαααΈααΈ αα αααα»ααααα»αα ααααααΆααααΌα αα½ααΆααΈααααΌαααααΌα ααααΆ ααΈαααααααΎαα·αααΌα αααααα ααΆααΉααα½αα±ααα’ααααααΎα - αα·ααααααααΊααΌα ααααΆ ααα»ααααααΆαααααααα ααΆααααααααααΊαα»αααααΆα
α§αααααααΆαααααααΆα
αααα»αααΆααααααΆααΆααΉααααα αΆαααΈααααααα Cartridge αα½αααΆαααααααΆααααααα·ααΈα ααΎααααΈααααΎα±ααααΈαα·αααΆααααααΆααααα½ααααααΆααα’ααααααααααα ααααααααααααα αααααα αα RPMα
$ cartridge pack rpm myapp -- ΡΠΏΠ°ΠΊΡΠ΅Ρ Π΄Π»Ρ Π½Π°Ρ ./myapp-0.1.0-1.rpm
$ sudo yum install ./myapp-0.1.0-1.rpm
αααα αααααααΆαααα‘αΎαααΆαααααΎααααααααα’αααΈααααα’αααααααΌαααΆαα ααΆαααααααα·ααΈ αα·αααΆαα’αΆααααα lush αααααΆαααα‘αΎαα 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 αα½αα±ααα αΆααα’αΆαααααααα ααΈαααα αααα½αα±ααααΆααααααΆααααααΆααααααΆα ααααα·ααΈααΆααααααααααααααΈα ααΎααααααΆααα’αΆααααααΆαααΆααΆαααααΆααααΌαααααααΎαααΆα αα½αααΆααααααααααΆαααΈααααααα αααααΊα αΆαααΆα αααΎααααΈα±ααααααΆααα αααααααΉαααΈααααααααΆαααα ααααΆαα αα·ααα ααα ααΆααΆαααα·ααα·αααα’αααα»αααΆαααααΎ 0.0.0.0 ααΆ advertise_uri ααΆαα½αααααΆ IP ααΆααΆααα αα·αααα bind socket ααα ααΎααααΆαααΆαα ααααΆαα’αααΈααΉαααααΎαααΆααα ααΌα αααα Cartridge ααΉααα·αα’αα»ααααΆαα±ααα’αααααΎαααααΆαααααααΆα advertise_uri αα·αααααΉαααααΌααααααα
α₯α‘αΌααααααΆαααααααα ααΆαααααααααα½α ααΆαα α’αααα’αΆα α αΆααααααΎαααααΎαααΆαα αααααΆαα―αααΆααααααααααααααΆαα·αα’αα»ααααΆαα±ααααααΎαααΆαααΎαααΈαα½αα αΆααααααΎα αααααα·ααΈαα ααΎ Cartridge ααααΌαααΆαααα‘αΎααααα’αααΈαααααα α ααΆα α―αααΆαααααΆαααααααααΎαααΆαααΌα αααα
$ sudo systemctl start myapp@router
$ sudo systemctl start myapp@storage_A
$ sudo systemctl start myapp@storage_B
αα αααα»αααΆαααααααα ααΆαααααααα ααΎαααΆααααααΆααα ααα HTTP ααα Cartridge αααααΎα ααα»α αααααΆαααααααΆα - 8080 α ααααα ααΎαααΆα
ααΎαααΎαααΆααααΎαααΆααααααΈααΆαα½ααααααα»αααααΎαααΆαααααα αα·αααΆααααααΌαααΆαααααααα
ααΆαααααααααα
α‘αΎαα αααα’ααααααΈααα·αααΆααααΉαααΆα’αααααΆαα½αα
ααααααΆαα½αα’αααααΆ α αΎααα·αα’αΆα
ααααΎααΆααααααα
α
α·αααααααααα½αα―αααΆααα ααΌα
ααααααααΌααααα
αΆααααααααΆαααααααΎαα α αΎαααΎααα·αααΆααααααΎαα
αααΎαααα ααΈαα·αααα
αααααααααΈα
αΆααααααΎαααΆαα½αααΉαααΆαααααααα
ααΆααααααααααααααΆααααΈαα½αα αααααΆααααααΎαααααααα’αααΈααααα
ααααα
αααα»αα
ααααα ααααααα½ααΆααΈα±αααα½ααα α αΎααα
α
ααα»α
ααα ααΆαααΆαααααααΆαα’αΆα
ααααΌαααΆαα
αΆαααα»αααΆααΆααααα
αααααααααααα
α αΆαααααααααααααααα’αααα αΌαα α·ααα α αΎααααααΆααααααΆααααΈαααααΆα αααααΎααΆαααααΌαα αααααα·ααΈα’αΆα ααααΎαααΆαααΆαα
αααααα
α αΎαα α»ααααααααααΆαααΆααα? ααΆαααααααααΎ αα»αααα·αααααα’ α αΆααααααΎααααα»ααααα ααΎ github α
ααα ααααΈααα
[2]ααααα: www.habr.com