α¬αααααααααΎαααααααααααΆααα C++ ααααα’αα·αα·αααααααΆαα ZooKeeper, etcd αα·α Consul KV
αα
αααα»ααα·ααααααααααααα
ααα
αΆα ααΆααα·α
αα
ααΆαααααααΆαα½αα
ααα½αα αααααΆαα»αααααααΆαα’αααΈαααΆαααΆαααα
ααααα αααααααααααΆαααααααα
ααΆααααααααααααΆαα ααααΎαααααΆαααααααΆαααα α»α ααΆαααααΎαααΎαα’αααααΉαααΆαα
ααα»ααα ααααααααααΆααα’αααααααΊα’αΆα
ααα½αααααΆαααΌαααα α»α αα·αααααΆααααααααααα’αΆα
αααααααΆαααΆααααααΆααα αααααΈααΆααααΌαα·αααααααααααα½αααααΆαααΆααα»αααααΆαααΆαααααΆαα αααααΎαααΉααα·ααΆααααΆαα
ααααααααααααα αααα½ααααααααααΆααααα αΆααΆαααααααααΌα
ααααΆα ααΆααααααα αααααα·ααΈααΈαα½αααααααααΎααααΆααααααΆαααααααα½αααααΌαααΆαα
αααααΆααααΆαα½ααα½ααααα»αα
αααααα½αααΆ αααα’αΆα
ααΆαα±ααααΆααααααΌαααΆαααΎααααΈααΆααααααααααααααΆα
αααΎααα
αααα»αααααααααααα·αααααααααα½αααααααααααΆααααα αΆααΌα
ααααΆαααααΆαααααααα·ααΈααααααααααΆα
αααα·αααΎααααΈαααααααΆααααα αΆαααααΆααααααα
ααααΈααΈααααΆααααΆαααααΉααααΆα’αΌααααααΆααΈ α αΎαααΆααΆαααααΆααααααΎαα½αααΎα αααααΆαααα»ααα·αααα·αααΌα
αα½α ααΎααααΈα’αα»ααααααΆ αααααΆα’αααΈααααααα»αααΉααα·ααΆαα’αααΈα
ααΎαααΆααααααααααααΎααααΈαααααΎααααααΆαααααααααααααΌαα
ααα»α
αααααΆααααΌαα
αααααΆααααααΎααΆαααΆαα½α ZooKeeper, etcd αα·α Consul KV α αααααΆαααβααααΌαβααΆαβαααααβααΆ C++ ααα»ααααβααΆαβααααααβαααααΌαβααΆβαα
βααΆβααΆααΆβαααααβαααα
αααΌααααα·αααααα
ααΎααααΈα’αα·ααααα ααα»α αααααΆααααΌαα αααααΆααααααααααααΈαααααααααΆ α’αααααααΌααααααΈα’αααΈααααα½αααααΆαααΌα ααααΆ αα·ααααααααααΆαα»αααααΆα α αΌαααΎααααααααΆαααΆα
α’αααβαααααααΆβαα½ααααα
ααααΆααα
α»α
ααααΌαααΆααααα
αααΆαααααΆα α αΎαααααΌαααΆαααα α
ααΆααααΆααα ααΌα
ααααα αΎα αααααΆααααααΆαα α’αααα’αΆα
ααα½αααΆααααααΈααΌαααααααΆα ααααα·ααααα·ααΆαααααΆααααααΎα znode (αααααΎα) αα·αααΆαααααΆααααααΌαααααα (setData) ααααΌαααΆααααααα
ααααΈααααΆα ααΆαααααααΆααα
α»α
αααααΆαααααΆααααα»ααααααααα’αΆα
α’αΆα αα·αααααΆααααααΌαααΆαα ααΆα‘α·ααΆα’αΆα
ααααΌαααΆαααααΆαααα
ααΉαααααα·ααααα·ααΆαααααΆααααα½ααα·αα·αααα’αααα·ααΆαααααααΆαα α’αΆαααααα αα·αααΆαααα½αααΆαααΌαα ααΆα‘α·ααΆααΊααΆααααα½ααααααα
αΆααααααΎααα
αααααααααααααα·αααααααααααααΌαααααΆαα
ααΎαααΆαααΈαααααααΆααααααΌαα ααααΆαα ephemeral ααααΌαααΆαααααΎααΎααααΈααααΎαααΆααααΆαααα αα½αααΆααααΌαααΆαα
αααααΆαααα
ααΉαααααααααα’αα·αα·αααααααΆααααααΎααα½αααα αα
αααααααααΆαααΈαααααααα·ααααα α¬ααααααααΆαααΌαααααΉαααα ZooKeeper α’αααΈα’αααα·ααΆαααααααΆ ααααΆααααΆαααααααααΌαααΆααα»ααααααααααααααααα·α ααααα·ααααα·ααΆαααΆααααααααΌαααΆαααΆαααα - αααα»αααααααα·ααααα·ααΆαααααααααα α¬αααΆααα ααααα·αααΎααΆαα·αα’αΆα
ααααΎαα
ααΆααααΆαα αα
ααΆαααα½ααααα»αα
αααααα½αααα
α
α’ααααααααΎααααααααααααααααΌαααΆααααα»ααααα·ααααΆαα
αααΆααααα ZooKeeper ααΌα
ααααα αΎαααΆαααααΎα’αααΈαααααααααΆααα»αααααΆα αα·αααΆαααΆααΆαα»αααααααααα ααα»αααααα½αααΆαααααΎαααΆαααα»αααΆαααααΆαααααααα α’αααα’αΆα
ααα½αααΆα α¬αα»αααααΆααα’αααααααΆαααααα·αααα·αααααα½αααΆααααΆαααα½αα αα
ααΆαααααααααα’αΆα
ααΎααα
α
ααααα ααα»ααααααΆααα·αααΆαααα αΆααααΆαα
αααΆαα α αΎααα·αααααΆαααΆαααΆααΆαα»ααααα’αΆα
ααααΆααααΆαααΆααααΆαααΆααααα½αααΆααααααΆα
etcd αα·αααΆαααααα·ααααα·ααΆααααααααα αα·αααααααααααααΆααα ααα»ααααααΆααΆαα’αααΈααααααααΎαααΆααααα ααααα·ααααα·ααΆαα ααΆααΆααα·αααΆαα αα½αααΆααΆααα
αααα»αααααααααααΆααααΈ ααα»ααααααααα·ααααα·ααΆα etcd ααΊααα’ααΆαα·αααα αα½αααααΆαααΈαααα»α: αα·αα·ααααααααααααΆαααα αααα»αααΈαα½αααΆααααα»ααααααααααααα½α ααΈααΈα αα·αααΈααΈ - ααααα·ααααα·ααΆαα ααααα·ααααα·ααΆααααααααΌαααΆαααααα·ααααα·ααΆαα’αΆααΌαα·αα ααααα·αααΎααααααααααΆααα’ααααΆααΆααα·α ααααααα»αααααααααααΌαααΆαααααα·ααααα· ααΎαα·αααΌα
αααααα αααα»ααααΆαααααααΌαααΆαααααα·ααααα·α αα
αααα»α API 3.3 αααα»ααααααα αα·ααααΆαααα’αΆα
αααα»αααααα·ααααα·ααΆααααααΆααα αααβααΊβααΆβα’αΆα
βααααΎβαα
βααΆαβααΎααααΈβααααα·ααααα·βααΆαβααΆααααβααΆαβααααααααβααβααααα·αβαααα»αβααααΎαααβααΆαβα’αααΎβα
α·αααα α’αααα’αΆα
ααααααααααααααα’αααΈα’αααΈαααααΆααααα½ααα·αα·ααα αα·αααααα·ααααα·ααΆαααΆαααααΈ
ααΆα‘α·ααΆβααβααΆαβαα βααΈβαααβααα αααβααΈβααΆβααΆβααΆαβααΆαβαααα»αααααΆαβααααα·α βα αΎαβα’αΆα βααααΎβα‘αΎαβαα·αβααΆαα αααααΊαααααΆααααΈααα‘αΎαααΆα‘α·ααΆαα ααΎαα½ααααααΉα α’αααααΉαααα½αααΆαααΆαα’αΆαααααααΆααα’αααα αααα»ααα½αααααα αΌααααα’αααααααααααΆα‘α·ααΆ α αΎααα·ααααααααΆααααααΆααΆα‘α·ααΆααΈαα½ααααααα αα αααα»α etcd analogue ααααααα’αα·αα·αα ZooKeeper ααΊααΆααΆααα½αα
αα»αααα»α K.V.
ααΆαααα·αααΆααα ααΆααααααααααΆααΆαα»ααααααΉαααΉααα ααΈαααααα ααα»αααααα»αααα»αα’αΆα αααααΎαααΌαααΆααααααΆααΆαα α’αααα’αΆα ααα½αααΆα αα·ααα»αααααΆααα’αααααααααΎαα»ααααααααααΆααααααΆαα αααααΊααααΎααΆαααΆαα½α "αααααΆααα" ααααα αααα½αααααααααααΌαααΆαααα α ααΆ recursive α ααΎαααΈααα αα»αααα»αα’αΆα ααααΎαααΎαααααααΆααα α»α ααααα·αααΆααα½α’αααααααααΆααααααΆαααααααΆααααΈαα»ααααααααααααΌαααΉαααΆαααα½αααΆα "αα»ααΆα" ααααΆααα ααα»ααααααΆαα½αα’ααα αα αΆαααΆαααααΊααΆααΌαααΆααααα ααΆααααααααααΆααΆαα»αααααααΆαααΆααααΆαα: ααΆαα·αααΆα’αΆα ααααΎαα ααΆαααΎααααΈαααααΎαααααααα·αααΎααααααααΆαα·αααΆαα¬αα»ααααααααΆαααΌαααααααααααα»ααΆαααΉαααααααααΌαααΆααααααΆαα»ααα αααα»αααααααααα
αααα½αα±ααααΆα‘α·ααΆ αα»αααα»αααΆαααΆααΆααααααΎ HTTP α ααα»ααα ααΆαααααααΊααΆααΆαα α
ααααααΆαα
ααΆαααα·ααΈααΆαααααα’αΆααα·αααααα ααα αα½αααΆαα½αααΉααααΆαααΆαααααααααααααα ααααα
α»αααααααααα·ααααααααααΌαααΆαα
ααα’α»ααααα αΆαα ααααα·αααΎαααααα
αα
α»αααααααααα·αααααααααααααΌαααααΆαα
ααΎαααΆαααΈαααααΊααααΆαα’αααΈαααααΆααααααΆαα ααΆαααααΎαααααΉααααααααααα·αααααΆαα ααΎαα·αααΌα
αααααα - αα
ααααααααααααΆααααααΌαα ααΆααααΆααααααααα’αΆα
ααααΆααααΆαα½αααααΆαααααααααα ααΆαα½αα±ααααααααααΆααααΆαα·αααΌα
etcd αα·α ZooKeeper αααααΆαααααααααααΆααα»αααααααΆααα
αααααΆααα»ααααααααΆααααααααααααΆααααααα½ααααααααααααΌαααΆαααααΆα
αα
ααααΈαα½αααΆα ααΆα
ααΆααααΆααΆααα’ααααααΆ
ZooKeeper ααΆαααααΌαα·αααααααααΆαααααα αααααα»αα αααα½αβαα½αβαααα αΆαβαααβααΆαβαα βαααα»α etcd αα·αβα’αΆα βααααΌαβααΆαβααααΆααααΆαβαααβααΆαβααααα·αααααΆαβαααα»α ZooKeeper α¬ Consul ααα αααααααΆααΆααααα αΌαααΌαα’αααΈαααααα’αααα»αααΈααααΆααααααΆααα’αα ααΎαααΆααααα ααααΆαα½αααΉαα ααα»α αααααΆααααααΎαααααααΎααΉαα ααα»α αααααΆαα ZooKeeper ααΆαα½αααΉαααααΈααΎααααααααΆαααααΌα ααΆααααααα
ααααΆαα αα»αααΊααα αα·αααααΆαα TTL αα·αβααΆαααα- ACL αα·αααααΌαααΆαααΆααααααα
- αα·ααΈααΆαααααααααααααααΎαααααααα·αααΎααΆαα·αααΆα (αα αααα»α ZK setData αααα‘ααααα α»ααααα»αααααΈααα)
- set αα·α cas method ααααΌαααΆααααααα ααααΈααααΆ (αααα»α ZK αα½αααΆααααΆααααΌα ααααΆ)
- αα·ααΈααΆααααααα»ααα»αααααΆαααα½αααΆαα½αααΉααααααΆαααααααααΆ (αααα»α ZK delete αααα‘ααααα α»αααααα·αααΎααααΆααααΆαααΌα)
- αααααΆααααΌαααααΈαα½ααααΆααααααααα½α - ααααααααα (αα
αααα»α ZK
ααΆαααΈαααα½ααα )
ααΆαααα·αααααααΆαααααααααααΆααααΊαααααΆααα etd αα·ααα»αααα»ααα·αααΆαααΆαααΆαααααααααΆαααα½ααααα α αΎααα½αααα’αΆα ααααΌαααΆαα’αα»αααααααΆαααΆααααα½ααααα’αααααααΎααααΆαααα ααΎα ααα»α αααααΆαααααααΆαααααααααα
ααΆαα’αα»ααααα₯αα·ααΆαααααααααα ααΉα ZooKeeper αα ααααα»αα ααα»α ααααΌα αααααΌαα±αααααααΆααΆαααΆααααΌαααΆα ααααα‘αααααααΆααααΌαααααΈαα½αααα αααα»α etcd αα·ααα»αααα»αα αααααΆαααΎαααααΆααΆααααααΆαααΆααααααΆαα»αααααααΆαααααΆ ββααΆααααΌαααΆααααααα α α·ααααα»ααααααΆαααααΆααααΌαα
subtleties ααααΆαα’αα»αααα
ααΌααα·αα·αααααΎαα±ααααΆαααααα·ααααααΌααα·αααααΆααα½αα ααα½αααααΆαα’αα»ααααα ααα»α αααααΆαααααααΆααααα αααα»αααααααααααααααα
ααΆααΆαα»αααααααα»α αα
ααΆααααααΆαα·αααααΆαααΆαααΆααΆαα»αααααα
αααα»α etcd ααΆαααααΆαααΆαα·α
αα
ααΆααααα½αα±ααα
αΆααα’αΆαααααααααα»ααα½αα αααα½αβαα½αβααααΎβα±ααβααΆβααΆαβαααα½αβαααα»αβααΆαβαα
βααβαααααΈβααβααβαααβααΆαβαα»αααααβαααβααΆαβαααααΆααα α§ααΆα αααααααα·αααΎα’αααααααΌαααΆαα’αααΈααααααααΆααααα
αΆααααααΎαααΆαα½α "/foo"
α’ααααααα»αααααΎαα»ααα½α ["/foo", "/fop")
. ααα»ααααααΆααΉααααα‘αααααααΆαααααΆααααΌαααααΌααα ααααααα ααααΆαα·αα’αΆα
ααα½αααααΆαααααα·αααΎαααααΆαααααΆαααα αααα ααααΌαα‘αΎα ααΎααααααααΉαααααΎααααΆααααααααΆααααααααααααΉα
"/foo" -> "u01/foo"
"/foo/bar" -> "u02/foo/bar"
αααααΆααααααα½αααΆαααΌαααααΆααα’ααααααΆαα "/foo"
α’αΆα
ααααΎαα
ααΆααααααΆαααααΎαα»ααα½α ["u02/foo/", "u02/foo0")
. ααΆααα
αααα»α ASCII "0"
ααααααΆαααααααΆααααΈ "/"
.
ααα»ααααααΎααααΎααΌα
ααααα
ααΎααααΈα’αα»ααααααΆαααα
αααα vertex αα½ααααα»αααααΈααα? ααΆααααααΆα’αααααααΌααα»ααα½αααΆααα’αααααααααα ["uXX/foo/", "uXX/foo0")
αααααΆαα XX ααΈ 01 ααα FF α α αΎααααααΆααααααΎαααΆααααα
αΌα
ααΆαααααα αααααααααααααααααΌαααααααΆαααααα½αααααΌαααΆααααααΎαα‘αΎα αααααααΎα±ααααΆα’αΆα α’αα»ααααααααααααααααα·αααααΆα ααΆααααΆααα»αααα αα·αααΆαααα½αααΆααααααΈαα»ααΆαα ααΆαααααααααΆααα αΎααααα»αααΆααααααααα½α’αααααα·ααααα½ααα»αααααα·αα·ααααααααΆα α»ααααααα α§ααΆα ααα:
"/very" -> "/u00very"
"/very/long" -> "/very/u00long"
"/very/long/path" -> "/very/long/u00path"
αααααΆαααααα»ααα "/very"
αααααα
ααΆααΆααα»α "/u00very"
αα·ααα½α ["/very/", "/very0")
αα·αααΆαααα½αααΆαααΌαααΆααα’αα - αα
αααα»αααΆαααααΎαα»αααΌαααααΈαα½α ["/very/u00", "/very/u01")
.
ααΆααααααα αααα»α ZooKeeper
ααΌα ααααααα»αααΆαααΎαα‘αΎααα½α α αΎα αα αααα»α ZooKeeper α’ααααα·αα’αΆα αα»αααααΆααααΆαααααααα·αααΎααΆααΆαααΌαα ααΎαα αααα»ααααα½αααΆαα½αααΉααααααΆαααα ααΎβαααα»βα»αβαα½αβααααΎα’αααΈ? ααΎαααααΎααααααααααα»αα·αααα·αα·ααα ααΈαα½α ααΎαααααααΆαααααααΆαααααΆαααααααααΆαα αααααα½αααΆαααΌαααα ααα»α ααααΌαααΈαα½ααααΆαα½αααΉααααα½αααΆα ααααα‘ααα αααααΆααααααΎααααααΎαααααα·ααααα·ααΆααααααααΆααΆααα»αααααΆααααΆααα’ααααα’αα»αααααΆαααΆαααααΆααααααΉαααααΌαα ααΆααΆααα·αααΆαα ααΆαααααΆααααααΌαα’αΆα ααΎαα‘αΎααααΆαααΆαα’αΆααααααΆααα αα·αααΆααα»αααΆα αααα»αααααΈαααααααα·ααααα·ααΆαααΉααααΆαααα ααΎαααΈααααα ααα αααααΆαααα’αΆα ααααΆααααααΌαααα‘α»ααααααααΎαααΆαα’αΆαα ααααΎαααααΆααααΌαααααααααΆαααααααΆααα’αΆα αααα‘ααααα α»α ααααα·αααΎα§ααΆα ααα ααααΆαααααααααΌαααΆααα»ααα½α α αΎαα αααα»αααααΈααΆααααΈαααα ααΎαααααΎααααΎαααΆαααΆααααΌααααααααα
αα·ααΈααΆααααααααααααΎα±ααααΆααα»αααααα·αααΆαααααα·αααααΆαααααααα·αααΎααΆααΆαααΌα α αΎααααααΆααα’αΆα α±αααααααα·ααΈααααααααΎααΆαααΆαα½αα’αα»αααααΆα ααΆααα»α αα·ααααααΎαααΌαααα αααααΆαααΆαααΆααααααααα’αα»ααααΆαα±ααααΎααααααΆαααΆααααα»αααααΆαααααΆαα’αα»αααααα·ααΈααΆααααααααααααααα αααα»α etcd αα·ααα»αααα»αα
ααααααα αααα»α ZooKeeper
αα αααα»α ZooKeeper ααΆααα·ααΈααΆαααααααΆα ααααα‘αααααααααΎααΆαααΆαα½ααα ααΆαααααααααααααΆα (αααααΎα αα»α getChildren) α αΎαααΆααααΎαααΆαααΆαα½ααα·αααααααααα»α nodes (setData, getData) ααΎαααΈααα αα·ααΈααΆαααααααΆααα’ααααΆαααααααααααΆαα»ααααΆαααΉαααΉαα αααααΎαααΉααααα‘ααααα α»αααααα·αααΎααααΆααααΆααα½α α αΎα ααααΌαααΆααααααΎα αα»α α¬ααααααα·αααααα - ααααα·αααΎααΆαα·αααΆααααΆαα ααΎαααααΌαααΆααα·ααΈααΆαααααααααααααα’αΆα α α ααΆαααααα·ααα·αααΈααααααΆαααααααα
αααααΎααα½αααΊααααΌααααα·ααΈααΆααααααα»αα·αααα·αα·αα ααΌα ααΆααΆααα»αα αα·αα·αααααΎαααΆααΎααααΆααααΆαα¬α’ααα ααααα·αααΎααΆα ααΌαα α αα setData ααΎαα·αααΌα αααααα αααααΎαα ααααα·αααΎαα·ααΈααΆαααααα α»ααααααααΆααααααααααα·αααΌαααα α»α ααΌαααααΎααααααααααααααα ααΏαααααΌααααααααΌαααααααααΆααααΊααΆααΆαααααΎαααααα’αααα·ααΆαααΊααααΆααααααα α’αααα’αΆα α α αααααΎαααααΆααα ααΆααααα αααααααααααααΉαααΆααααααΆααααΆαααα·αααΆααα α αΎαααΆααααΌαααΆααααααΎαα ααΎαα·αααΌα αααααα ααΆααααααΎαααΉααααα‘ααααα α»αααααααααα αααααΆααααΈαααα’αααααααΌαα α αα setData α ααΆααΆααα·αααΆαα αααΆαααΆαα α ααΌααααα α ααα»α ααααΌααα½αα’αΆα ααααΌαααΆααα»ααααααΆαα α αααααααα½ααααααα α αΎα setData ααααΉααααα‘ααααα α»ααααααα αααα»αααααΈααα α’αααα’αΆα ααααΎααΆαααααααααΆα ααα»ααααααΎααΆααΆαααααααα?
ααααα·αααΎαα·ααΈααΆααααΈαααααααα‘ααααα α»α αααααΎαααΉαα αααΆααααΆααΆααα»αααααα½αααααααααΆαααΎαα‘αΎαα ααΌααααααααΆααΆααα»ααααααΆαααΎαα‘αΎααααααΆααααΈαααα»αααΆαα α ααΌαααααα αααααΆαααα α’ααααααβα’αααΈβαααααβαααβααΎαβαααα»αβααααΆααΆαβαααααΎαβααααΌαβααΆαβαα»αβααΆααβαα α αΎαα αααααΆααααααΆααΎαα’αΆα ααααααααΆαααα»ααααααααΌαααΆαααααα·ααααα·ααααααααα αααααΈααΆααΆααα·αααααΆαα’αααΈααααΌαααΆαααααααααααα
ααααααΆααααα’α·ααα αα ααααααααααα
αα
αααα»ααααααααα ααΎαααΉααααααΆαααΈααααααααα
ααα
αΆα α αΎααα·ααΆαα’αααΈααΆααααααααΌαα
αααααΌαααΆαα
αααααα½αααααα’αα·αα·ααααΊαααααααα·ααΆα αααΆαα αα
ααΆααααααΆαααααα½αααααΌαααααααΌαααΆαααΆαααααα
ααΎ Linux, MacOS αα·α Windows α ααααΌαα‘αΎα ααΎαααΆααααααΎααααααΆααααααΈαα»α
α αΎαα
αΆααααααΎαααΆαααααααΎαααααααααααααααααα
ααααααααα ααααααααΆαα±ααααΆααααα αΆααΆα
αααΎαααααααααΆαααααααααααΆαα·αα
αααΆααααΆαααααα»αα’αααΈααααα
αΌααα
αα·αα ααΆαααααα ααααΆαααααααα½αααΆααααΈα₯α‘αΌααααααααΌαααΆαααΆαααααα
ααΎ Linux αα·α MacOS ααααααααα Consul KV ααααΌαααΆαααΆαααααα
ααΎ Windows ααα»αααααα
ααΆααααΈααΎαααααΌααα ααΎαααΆαααααΆααΆαααααΎαααααΆααααααααααααα½α
ααΆααααα
ααΎααααΈα
αΌαααααΎααααΆααααα αααα»αααααΈ ZooKeeper αααααΎαααΆαααααΆααα
α»α
ααΆααααα»ααααα·ααααα
ααα»α
αααααΆααα’ααααΆααααααααΆααα ZooKeeper C++ ααΎαααΆααααααα
α
α·αααα’αα»ααααα
ααα»α
αααααΆααα’ααααΆααααααα ZooKeeper C ++ ααααΎαα»αααααΆαα’ααΆαα/αααααΆαααααΆααααΆααααα αα
αααα»α STL ααΆα’αα»αααα½αααΆααααΌαααΆαα’αα»αααααααΆαααααααα α§ααΆα ααα ααα
ααΆαα’αα»ααααααααααΎαααααΎαααΆαααΌα αααα αα αααα α αα ααΆααααααΆαααααα/ααΌα’ααΆααααααΌαααΆααααααΎαα‘αΎαα α’ααΆααααααΈααααΌαααΆααααααααααα·α α αΎαααααααααααααΆααααααΌαααΆαααΆααααΆαα½αααΉααα»αααΆααααααααΌαααααΆ αα·αααΆααααααΆαααααααα αααα»ααα½αα αααααααα‘αΆαααΈα’αΆαααααΎαααΎαα’ααΆααααΆα αααΎαααΈαα½α α αΎααααααααα·αα½ααααααααααΎ wait_for α αα ααααααααααααααα½αααΆα αα»αααΆααααααααΌαααααΆααααΌαααΆαα α α αΎαααααααααα‘ααααααααΆααααΌαααΆααααααΌααα ααΆααααααΆα
ααΎαααΆαααααΎααααα»ααααααααα‘αΆαααΌα
ααααΆ ααΎααααΈααααα·ααααα·αααα½ααα
ααΆαα etcd αα·ααα»αααα»αα αααβααΆαβαααβααΆβαααααΆαααβααΌαααααΆαβα’αΆα
βα
αΌαβααααΎβααΆαβαααβααααβαααα‘αΆαβαααααβααααΆβα
αααΎαα ppconsul αα·αααΆααα»ααααα·ααΆααα ααΌα
ααααααΆαα α
αα
ααΆααααΆααααΌαααΆαααΆαααΆααααααα
α’αααα’αΆα
ααααΎααΆαααΆαα½α grpc ααΈαααααααα‘αΆαα
αααΎα ααα»ααααααΆα subtleties α αα
αααα»αααΆα‘α·ααΆ etcd ααααΌαααΆαα’αα»ααααααΆααααααααααΈα grpc α ααΆαααααααΊααΆαααααΆααααααα·ααααααΆααααΆαααααααααααΆααααΆαααα½αα αααααΆααααααααΎααααααααα‘αΆααααα½ααααααΆααααΆα‘α·ααΆααΆααα’αα αα·ααααααααα½ααααααααΎαααΆαααΆαα
αΌαα ααΌα
αααα grpc α αΆαααΆααααΆααααααααααααααΆααΎααααΈα
αΆααααααΆαα αααααΆααααααΆ αα
αααα
αΆααααααΎα α¬αα»αααΆα‘α·ααΆ α’αααααααΌααααααα
αΆααα αΌααααααααΎααΈαα»αααΆααααα
ααααΆαααααΎ αα»ααααααααΎααΆα‘α·ααΆαααααΆααα ααΎαααααΎαααααΆααααΆαααααΎααααΆααααα
αααααα
ααΎαααααααα½αα―αα
αααα»αβααααβααΎα:
ααααα: www.habr.com