ื-Mail.ru Group ืืฉ ืื ื ืืช Tarantool - ืืื ืฉืจืช ืืืฉืืืื ื-Lua, ืฉืืฉืืฉ ืื ืืืกืืก ื ืชืื ืื (ืื ืืืืคื?). ืื ืืืืจ ืืืื ืื, ืืื ืืืืืืืช ืฉื ืฉืจืช ืืื ืขืืืื ืื ืืืชื ืืืืืืืช. ืงื ื ืืืื ืื ืื ืืื ืื ืื ืชืจืืคืช ืคืื, ืื ื-Tarantool ืืฉ ืืืื ืืงื ื ืืืื ืืืคืงื - ืืืืื vshard
ืืืฉืืช ืืืืืช: ืืกืคื ื ืืื ืชืืื ืืช ืืืืืืช (ืืืฉื
ืืื ืืืืืง ืืืขืื?
ืืฉ ืื ื ืืจื ืืืื, ืืฉ ืื ื ืืฉืจื - ืื ืขืื ืืคืฉืจ ืืจืฆืืช?
ืจืืฉืืช, ืื ืขื ืืื ืฉื ื ืืืืช. ืชืฆืืจืช vshard ืืืืืจืช ืืจื ืืืืืืช Lua. ืืื ืฉืืขืจืืช ืืืืืจืช ืฉื ืืกืคืจ ืชืืืืื Tarantool ืชืคืขื ืืืืื, ืืชืฆืืจื ืืืืืช ืืืืืช ืืื ืืื ืืงืื. ืืฃ ืืื ืื ืจืืฆื ืืขืฉืืช ืืช ืื ืืื ืืช. ืืื, ื ืขืฉื ืฉืืืืฉ ืืื ืืื ื ืกืงืจืืคืืื, Ansible ืืืขืจืืืช ืคืจืืกื.
ืืืกื ืืช ืขืฆืื ืื ืืืช ืืช ืชืฆืืจืช vshard, ืืื ืขืืฉื ืืืช ืขื ืกืื ืฉืื ืชืฆืืจื ืืืืืจืช ืืฉืื. ืืื ืืขืฆื ืงืืืฅ YAML ืคืฉืื, ืฉืขืชืง ืฉืื ืืืืืกื ืืื ืืืคืข ืฉื Tarantool. ืืคืฉื ืืื ืฉืืืกืืจืช ืขืฆืื ืื ืืจืช ืืช ืืชืฆืืจื ืฉืื ืืืืืืื ืฉืืื ืืื ืืื ืืงืื.
ืฉื ืืช, ืื ืฉืื ืขื ืืื ืฉื ื ืืืืช. ืืชืฆืืจืช vshard ืืื ืฉืื ืงืฉืจ ืืคืืชืื ืืืืืืื ืืขืกืงื ืืจืง ืืกืื ืืช ืืขืชื ืฉื ืืืชืื ืช ืืขืืืืชื. ืืืฉืจ ืื ื ืื ืื ืืืจืืืืงืืืจื ืฉื ืคืจืืืงื, ืื ื ืืืืจืื ืืจืื ืขื ืจืืืืื ืืืืืื ืืืืื ืืจืืงืฆืื ืืื ืืื. ืืืงืื ืืื ืืืฉืื ืขื ืืคืขืืช ืืฉืืื ื-3 ืืจืืื ื ืชืื ืื.
ืคืชืจื ื ืืช ืืืขืืืช ืืืื ืฉืื ืืฉืื, ืืืฉืื ืืกืืื ืืฆืืื ื ืืคืชื ืืืฉื ืฉืคืฉืื ืืช ืืขืืืื ืขื ืืืคืืืงืฆืื ืืืืจื ืื ืืืืืจ ืืืืื ืฉืื: ืืฆืืจื, ืคืืชืื, ืืืืงืืช, CI/CD, ืชืืืืงื.
Cartridge ืืฆืื ืืช ืืจืขืืื ืฉื ืชืคืงืื ืขืืืจ ืื ืชืืืื 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 ืขื "ืฉืืื, ืขืืื!" ืืืื. ืืืฉืื. ืืืื ื ื ืกื ืืืคืขืื ืืืชื ืืื, ืืืืจ ืฉืืชืงื ื ืืขืืจ ืืช ืืชืืืช (ืืืื ืืืกืืจืช ืขืฆืื):
$ tarantoolctl rocks make
$ ./init.lua --http-port 8080
ืื ืืฉ ืื ื ืฆืืืช ืืื ืฉืคืืขื ืขืืืจ ืืืฉืื ื-Sharded ืืขืชืืื. ืืืื ืกืงืจื ืืืื ืืคืชืื ืืื ืืช ืืืฉืง ืืืื ืืจื ื, ืืืืืืจ ืืฉืืื ืฉื ืฆืืืช ืืื ืขื ืืขืืืจ ืืืืื ืืช ืืืชืืฆืื, ืืื ืื ืืืงืื ืืื ืืฉืืื. ืขื ืื, ืืืคืืืงืฆืื ืื ืืืืื ืืขืฉืืช ืฉืื ืืืจ ืืืขืื, ืื ืื ื ืืกืคืจ ืืื ืขื ืืคืจืืกื ืืืืืจ ืืืชืจ, ืืื ืขืืฉืื ืืืืข ืืืื ืืืชืื ืงืื.
ืคืืชืื ืืคืืืงืฆืืืช
ืจืง ืชืืจื ืืขืฆืืื, ืื ืื ื ืืชืื ื ืื ืคืจืืืงื ืฉืืืื ืืงืื ื ืชืื ืื, ืืฉืืืจ ืืืชื ืืืื ืืช ืื"ื ืคืขื ืืืื.
ืื ื ืืชืืืืื ืืฆืืืจ ืืืืืจืื ืืื ืืืื ืขืืื ืฉืืืฉื ืืจืืืืื: ืฉืขืจ, ืืืกืื ืืืชืืื. ืื ืื ื ืขืืืืื ืขื ืืืจืืืืงืืืจื ืขืื ืืืชืจ. ืืืืืื ืฉืื ื ืืฉืชืืฉืื ื-vshard ืืืืกืื, ืื ื ืืืกืืคืื ืืช vshard-ื ืชื ื-vshard-storage ืืชืื ืืช. ืื ืืฉืขืจ ืืื ืืืชืืื ืืืฉื ืืฉืืจืืช ืืืืกืื; ืืฉืืื ืื ื ืืขื ืื ืชื, ืืฉืืื ืื ืืื ื ืืฆืจ.
ืืชืจืฉืื ืืื ืขืืืื ืื ืืืืฆื ืืืืืง ืืช ืื ืฉืื ืื ื ื ืื ื ืืคืจืืืงื ืืืืืื ืฉืืจืืืืื ื ืจืืื ืืืคืฉืืื. ืื ืื ื ืขืืืื ืฆืจืืืื ืืจืืืช ืืื ืื ืืืงืจื ืขื ื-Tarantool ืืืืืชื - ืืืื ื ืงืืฅ ืืช ืืจืืืืื ืฉืื ื ืืคื ืชืืืื.
ืืื ืืขื ืืฉืืืจ ืขื vshard-router ื-gateway ืืืืคืขืื ื ืคืจืืื. ืืื ืื ืื ื ืฆืจืืืื ืืืืืฉ ืฉืื ืืจืฉืช ืื ืื ืืืจ ืืืืจืืืช ืื ืชื? ืื ืืืืืื ืืืืืช ืืืคืขืืื ืืืืชื ืชืืืื. ืืืืืจ, ืื gateway ืืื vshard.router.cfg ืืืชืืืื ืืชืืืื ืืื, ืืืืคืฉืจืื ืืื ืืงืืื ืืื ืืจืืงืฆืื ืืงืืืืช.
ืืฉืื ืืชืื ืื ืืื ื ืื ืืขืืื ืขื ืฉืืืฉื ืจืืืืื, ืืื ืื ื, ืืืคืชื, ืืืื ืืชืืืช ืืงืื, ืื ืจืืฆื ืืืฉืื ืขื ืืฉืงืช ืฉืืืฉื ืืืคืขืื ืฉื Tarnatool. ืื ื ืฆืจืื ืืืจืืฅ ืืืืงืืช ืืืืืืง ืฉืืชืืชื ืฉืขืจ ื ืืื. ืื ืืืื ืื ื ืจืืฆื ืืืืืื ืชืืื ื ืืขืืืชืื. ืืืืข ืขืื ืืขืืืจ ืืช ืืืจืื ืฉื ืคืจืืกืช ืฉืืืฉื ืขืืชืงืื? ืื ื ืืื ืืืฉื ืืชืคืงืืืื. ืชืคืงืื ืืื ืืืืื luash ืจืืื ืฉืืืืืจ ืืืืื ืฉืื ืื ืืื ืขื ืืื Cartridge. ืืืืืื ืื ืืฉ ืืจืืขื ืืื - ืฉืขืจ, ื ืชื, ืืืกืื, ืืชืืื. ืืืื ืืืืืช ืฉืืฉ ืขืื ืืคืจืืืงื ืืืจ. ื ืืชื ืืืคืขืื ืืช ืื ืืชืคืงืืืื ืืชืืืื ืืื, ืืื ืืกืคืืง.
ืืืืฉืจ ืืืืืจ ืืคืจืืกื ืืืืืื ืื ืืืืฆืืจ, ืื ื ื ืงืฆื ืืื ืชืืืื ืฉื Tarantool ืกื ืชืคืงืืืื ืืฉืื ืืืชืื ืืืืืืืช ืืืืืจื:
ื ืืืื ืืืคืืืืืื
ืืืืข ืขื ืืืื ืคืืขืืื ืชืคืงืืืื ืืืื ืืืืืช ืืืืืกื ืืืคืฉืื. ืื"ืืืคืฉืื" ืืื ืืื ืืชืฆืืจื ืืืืืืจืช, ืฉืืืจ ืืืืจืชื ืืืขืื. ืืืืจ ืืืฉืื ืืืืชืจ ืื ืืื ืืืคืืืืืืืช ืืืฉืืืืืช. ืืืื 3 ืงืืืฆืืช ืฉืืคืื ืฉื 5 ืชืืืืื Tarantool:
ืื ืื ื ืื ืจืืฆืื ืืืื ื ืชืื ืื, ืื ืื ืื ื ืืชืืืืกืื ืืืืืจืืช ืืืืืข ืขื ืืคืขืืช ืชืืืืืื. ืืืกื ืืช ืขืืงืืช ืืืจ ืืชืฆืืจื ืืืืฆืขืืช commit ืื-ืคืืื. ืืจืืข ืฉื ืจืฆื ืืขืืื ืืช ืืชืฆืืจื, ืืื ืืืืง ืชืืืื ืฉืื ืืืืคืขืื ืืืื ืื ืืืืื ืื ืืงืื ืืช ืืชืฆืืจื ืืืืฉื. ืืืืจ ืืื, ืืฉืื ืืฉื ื ืืืื ืืช ืืชืฆืืจื. ืืคืืื, ืื ืื ืขืืชืง ืืื ืืชืืจืจ ืืืืชื ืืืื ืืืืคื ืืื ื, ืฉืื ืืืจ ืจืข ืื ืืงืจื. ืืชืฆืืจื ืคืฉืื ืื ืชืืืฉื ืืชืจืื ืฉืืืื ืืจืืฉ.
ืื ืืกืขืืฃ ืืืืคืืืืืื, ืืฆืืื ืคืจืืืจ ืืฉืื ืืื ืืื ืืื ืฉื ืื ืงืืืฆืช ืฉืืคืื. ืืืจื ืืื ืืื ืืขืืชืง ืฉืืืงืื. ืืฉืืจ ืื ืืจืื ืืงืจืืื ืืืื, ืื ืื ืขืฉืืืื ืืืืืช ืืจืืืื. ืืคืขืืื ืืคืชืืื ืืืืฆืื ืื ืืืฉืฉืื ืืงืื ืคืืืงืืื ืืืืืืื ืืืชืื ื ืชืื ืื ืืืกืคืจ ืืขืชืงืื ืืืงืืื, ืืื ืืฉ ืืื ืคืขืืืืช ืฉืื ืืฉื ื ืื, ืืกืืจ ืืืฆืข ืคืขืืืื. ืืฉืืื ืื ืืฉ ืกืืื ืฉื ืื ืืื.
ืืืื ืฉื ืชืคืงืืืื
ืืื ืฉืชืคืงืื ืืืคืฉื ืืชืงืืื ืืืจืืืืงืืืจื ืืื, ืืืกืืจืช ืืืืืช ืื ืื ืืืชื ืืืืฉืื. ืืืืคื ืืืขื, ืืฉืืืื ืืชืจืืฉืช ืืืื ืืืคืขืื ืืืืฉ ืืช ืชืืืื Tarantool. ืืฉ 4 ืืชืงืฉืจืืืืช ืื ืืืื ืชืคืงืืืื. Cartridge ืขืฆืื ืชืงืจื ืืื ืืืชืื ืืื ืฉืืชืื ืืชืฆืืจื ืืืืืืจืช ืฉืื, ืืืื ืชืืื ืืช ืืชืฆืืจื ืขื ืชืคืงืืืื ืกืคืฆืืคืืื.
function init()
function validate_config()
function apply_config()
function stop()
ืืื ืชืคืงืื ืืฉ ืชืคืงืื init
. ืื ื ืงืจื ืคืขื ืืืช ืื ืืืฉืจ ืืชืคืงืื ืืืคืขื ืื ืืืฉืจ Tarantool ืืืคืขื ืืืืฉ. ื ืื ืฉื, ืืืฉื, ืืืชืื ืืช box.space.create, ืื ืฉืืืชืืื ืืืื ืืืคืขืื ืกืื ืจืงืข ืืืฉืื ืฉืืืฆืข ืขืืืื ืืืจืืืื ืืื ืืกืืืืื.
ืคืื ืงืฆืื ืืืช init
ืืืื ืื ืืกืคืืง. ืืืกื ืืช ืืืคืฉืจืช ืืชืคืงืืืื ืื ืฆื ืืช ืืชืฆืืจื ืืืืืืจืช ืฉืื ืืื ืืฉืชืืฉืช ืืืืกืื ืืืืคืืืืืื. ืื ืื ื ืืืืืื ืืืืจืื ืขื ืืืืจ ืืืฉ ืืืืชื ืชืฆืืจื ืืืืืกื ืื ืงืืข ืืืชืฆืืจื ืืขืกืงืืช. ืืืืืื ืฉืื, ืื ืืืืื ืืืืืช ืกืืืืช ื ืชืื ืื ืื ืืืืจืืช ืืื ืืื ืื ืขืืืจ ืชืคืงืื ืืืชืืื.
ืฉืืืืช ืืงืืฅ validate_config
ะธ apply_config
ืืื ืคืขื ืฉืืชืฆืืจื ืืืืืืจืช ืืฉืชื ื. ืืืฉืจ ืชืฆืืจื ืืืืืช ืขื ืืื commit ืื-ืฉืืื, ืืืฉืืื ืืืืง ืฉืื ืชืคืงืื ืืืื ืืงืื ืืช ืืชืฆืืจื ืืืืฉื ืืื, ืืืืืืช ืืฆืืจื ืืืืื ืขื ืฉืืืื ืืืฉืชืืฉ. ืืืฉืจ ืืืื ืืกืืืืื ืฉืืชืฆืืจื ืชืงืื ื, ืื ื apply_config
.
ืื ืืชืคืงืืืื ืืฉ ืฉืืื stop
, ืืืจืืฉ ืืื ืื ืงืืช ืืช ืืคืื ืฉื ืืชืคืงืื. ืื ื ืืื ืฉืืืจ ืืื ืฆืืจื ืืืื ืืืื ืื ืืฉืจืช ืืื, ืืื ืืืื ืืขืฆืืจ ืืช ืืกืืืื ืฉืืื ืืื ืืชืืื init
.
ืชืคืงืืืื ืืืืืื ืืงืืื ืืื ืืจืืงืฆืื ืื ืขื ืื. ืื ืื ื ืจืืืืื ืืืชืื ืงืจืืืืช ืืคืื ืงืฆืืืช ื-Lua, ืืื ืืืื ืืงืจืืช ืฉืืชืืืื ื ืชืื ืืื ืืช ืืชืคืงืื ืฉืื ืื ื ืฆืจืืืื. ืืื ืืืงื ืขื ืฉืืืืช ืืจื ืืจืฉืช, ืื ื ืืฉืชืืฉืื ืืืืืื ืืขืืจ rpc (remote procedure call), ืืฉืจ ืื ืื ืขื ืืกืืก ื-netbox ืืกืื ืืจืื ืืืืื ื ื-Tarantool. ืื ืืืื ืืืืืช ืฉืืืืฉื ืื, ืืืฉื, ืืฉืขืจ ืฉืื ืจืืฆื ืืืงืฉ ืืฉืืจืืช ืืืืชืืื ืืขืฉืืช ืืช ืืขืืืื ืืืจ ืขืืฉืื, ืืืงืื ืืืืืช ืืื.
ื ืงืืื ืืฉืืื ื ืืกืคืช ืืื ืืืืืช ืกืืืื ืืช ืืชืงืืืช. ืืืกื ืืช ืืฉืชืืฉืช ืืคืจืืืืงืื SWIM ืื ืืืืจ ืชืงืื ืืช
ืืืชืืกืก ืขื ืคืจืืืืงืื ืื, Cartridge ืืืจืื ืช ืขืืืื ืืฉื ืืืืืืื. ืื ืชืืืื ืขืืงื ืืืจ ืืกืืืื ืฉืื, ืืื ืืื ืืื ืืคืกืืง ืคืชืืื ืืืืื, ืืขืชืง ืืืื ืืืฉืชืื ืขื ืชืคืงืืื, ื-Cartridge ืืืืืจ ืืช ืืชืคืงืืืื ืืคืืขืืื ืืืชืื.
ืืชื ืฆืจืื ืืืืืช ืืืืจ ืืื, ืื ืืขืืจ ืชืืืฃ ืืืื ืืฉืื ืืืื ืืืืืื ืืืชื ืืฉืืืืช ื ืชืื ืื ืืืืื ืฉืืคืื. ืืืืื, ืืชื ืื ืฆืจืื ืืืคืขืื ืืฉื ืืืืืืื ืืืงืจืื. ืขืืื ื ืืืืื ืืืืจืืจ ืื ืงืืจื ืืืืืืช ืืืืืื ืฉืืฉืืคืื ืื ืืืฉืืจ ืืืืจ ืฉืืงืื ืืื ืืื ืืืืืจืช ืขืืจื ืืืืฉื ื.
ืืื ืื, ืืชื ืขืฉืื ืืงืื ืืช ืืชืืืฉื ืฉืชืคืงืืืื ืืืืื ืืฉืืจืืชื ืืืงืจื. ืืืืื ืืกืืื, ืื ืืืืืง ืื, ืจืง ืืืืืืืื ืืชืื ืชืืืืื Tarantool. ืืื ืืฉ ืื ืืกืคืจ ืืืืืื ืืืืชืืื. ืจืืฉืืช, ืื ืชืคืงืืื ืืคืจืืืงื ืืืืืื ืืืืืช ืืืืชื ืืกืืก ืงืื. ืืื ืืชืืืืืื ืฉื Tarantool ืฆืจืืืื ืืืืืช ืืืคืขืืื ืืืืชื ืืกืืก ืงืื, ืืื ืฉืื ืืืื ืืคืชืขืืช ืืื ืืื ืืฉืื ืื ื ืื ืกืื ืืืชืื ืืช ืืืชืืื, ืืื ืืื ืคืฉืื ืื ืงืืื. ืืื ืื, ืืกืืจ ืืืคืฉืจ ืืืืืื ืืืจืกืืืช ืงืื, ืืืืืื ืฉืืชื ืืืืช ืืืขืจืืช ืืืฆื ืืื ืงืฉื ืืืื ืื ืืืื ืื ืืคืื ืืืืื.
ืฉืื ืืื Docker, ืื ืื ื ืื ืืืืืื ืคืฉืื ืืงืืช ืชืคืงืื "ืชืืื ื", ืืงืืช ืืืชื ืืืืื ื ืืืจืช ืืืืคืขืื ืืืชื ืฉื. ืืชืคืงืืืื ืฉืื ื ืืื ื ืืืืืืื ืืื ืืืืืืช Docker. ืืื ืื, ืืื ื ื ืืืืืื ืืืคืขืื ืฉื ื ืชืคืงืืืื ืืืื ืืืืคืข ืืื. ืชืคืงืื ืื ืงืืื ืื ืฉืืื ืื; ืืืืื ืืกืืื, ืื ืืืื. ืืฉืืืฉืืช, ืืชืคืงืืืื ืืืืืื ืืืืืช ืืืื ืืชืื ืื ืงืืืฆืช ืืฉืืคืื, ืื ืืืจืช ืื ืืืื ืืืกืืจื - ืื ืชืื ืื ืืืื, ืืื ืืชืฆืืจื ืฉืื ื.
ืืื ืคืจืืกื
ืืืืืชื ืืืจืืืช ืืืฆื 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
ืืฉ ืืื ื ืืืื ืก ืืขื ืืื. ืืืงืื ืืฆืืื ืจืง ืืช ืืฆืืืช ืืคืจืืืืงืื ืืืื ืืจื, ืื ื ืืฆืืื ืื ืืช ืื ืืืชืืืช ืืฆืืืืจืืช ืฉื ืืชืืืื ืืืื ืฉื ืืืืจื. ืื ืืืจืื ืืื ืฉืฆืืชื ืืืฉืืื ืืืขื ืืืชืืืจ ืื ืืื. ืื ืจืขืืื ืจืข ืืืฉืชืืฉ ื-0.0.0.0 ืืืชืืืช advertise_uri; ืืื ืฆืจืืื ืืืืืช ืืชืืืช IP ืืืฆืื ืืช, ืื ืืืืืจ socket. ืืื ืื ืฉืื ืืืจ ืื ืืขืืื, ืื Cartridge ืคืฉืื ืื ืืืคืฉืจ ืื ืืืคืขืื ืฆืืืช ืขื advert_uri ืืื ื ืืื.
ืืขืช, ืืฉืืชืฆืืจื ืืืื ื, ืืชื ืืืื ืืืชืืื ืืชืืืืืื. ืืืืืื ืฉืืืืืช systemd ืจืืืื ืืื ื ืืืคืฉืจืช ืืืชืืื ืืืชืจ ืืชืืืื ืืื, ืืืฉืืืื ืขื ืืืืกื ืืช ืืืชืงื ืื ืขื ืืื ืื ืฉื ืงืจื. ืืืืืืช ืืืคืขืืืช ืฉืขืืืืืช ืื:
$ sudo systemctl start myapp@router
$ sudo systemctl start myapp@storage_A
$ sudo systemctl start myapp@storage_B
ืืชืฆืืจื, ืฆืืื ื ืืช ืืฆืืืช ื-HTTP ืื Cartridge ืืฉืจืชืช ืืช ืืืฉืง ืืืื ืืจื ื - 8080. ืืืื ื ืื ืืืื ืื ืกืชืื:
ืื ื ืจืืืื ืฉืืืจืืช ืฉืืชืืืืืื ืคืืขืืื, ืื ืขืืืื ืื ืืืืืจืื. ืืืืกื ืืช ืขืืืื ืื ืืืืขืช ืื ืฆืจืื ืืฉืืคื ืขื ืื ืืื ืืืืื ืืงืื ืืืืื ืืขืฆืื, ืืืื ืืื ืืืื ืืืขืฉืื ื. ืืื ืืื ืื ื ืืจืื ืืจืืจื: ืืืืื ืฉื ืืฉืืื ืืืฉ ืืชืืืืื ืืชืฆืืจื ืฉื ืืฆืืืช ืืจืืฉืื. ืืืืจ ืืื ื ืืกืืฃ ืืช ืืืืจืื ืืืฉืืื, ื ืงืฆื ืืื ืชืคืงืืืื, ืืืฉืื ืื ื ืืชื ืืจืืืช ืฉืืคืจืืกื ืืืฉืืื ืืืฆืืื.
ืืืื ืืืืื ืืืก ืืืืฉืงื ืืืืื ืขืืืื ืืืืืจืืข ืืืจื ืฉืืืข ืขืืืื ืืจืื. ื ืืชื ืืืฉืชืืฉ ืืืคืืืงืฆืื.
ืชืืฆืืืช ืฉื
ืื ืืชืืฆืืืช? ื ืกื ืืช ืื, ืืฉืชืืฉ ืื, ืืฉืืจ ืืฉืื, ืฆืืจ ืืจืืืกืื ื-Github.
ืชืืืืจ
[1]
ืืงืืจ: www.habr.com