
αα½ααααΈ α αΆα! αααα»αααΊ Artem Karamyshev ααΆαααααΆααααα»αααααααααααααααααα . ααΎαααΆαααΆαα
αααααααα·αααααααΈαααΆα
αααΎαααΆαααΈααααΆααα»αα ααΎαα
ααααΆααΆααΆ ααααΆαααα API α’αΆα
ααααΎααΆαααααααΆαααΆααααΆαααΆααααα½α α’ααα±αα
ααααααα α»α αα·αααααααααα½αααΆααααα
αααααΆααααΆαααΎαα‘αΎααααΆαααΆαααα ααααααααα»αα’αααααααΎααααΆααα αααα·ααΆααααααΎαααααΌαααΆαα’αα»αααααα
ααΎ OpenStack α αΎααααα»αα
ααααααΆααα’αααααΈαααα αΆααααΆαα’ααα±αααα α»αααααααααααΎαααααΌααααααααΆαααΎααααΈααα½αααΆααααααααααααα’ααα±αααα α»αα αααα»ααα·αααΆααΆααΉααα½αα±ααα
αΆααα’αΆαααααααααααΆααα’αααααααααααΎαααα·ααααα
ααΎ OpenStack αααααα
ααΆαα’ααα±αααα α»αααΆααΌαα αααααα·ααΆαα½αααΆα ααΆαααααααααΆαααΆαα»ααααααΆα ααΌα αααα ααΎαααΉαααααααΆααααααα·α ααααααααααααααα·αααΆααα’αα αααααΎααααααα αΆαα·ααα αα·ααα·αααΆα
ααααααΈααα’αΌααααΏαααα αααααΆαααααα
αααααααααΆαααΆααααα½ααα
α―ααααα·ααΈα Uptime day 4 ααααααα
αααα α’αααα’αΆα
ααΎαααΎα .
ααΆααααααααααΆααααααααααΌααααα
αααααααΆααΆααααα MCS cloud α₯α‘αΌααααααΆαααΌαααααΆααα αααα»αααααααααααα·ααααααααααΆααααΈ III α ααα½αααΈα αααΆααα½αααΆααΆααααααααΉαααααΆαααααα½α αααααααΌαααΆαααααα»ααα»ααα ααααα·αααΌααααααααααααΌαααααααααααΆ ααΆαα½αααΉαααααΏα 200 Gbit/s α ααααα·α III αααααααΌαααααα·αα αΆαααΆα αααααΆαα’ααα±αααα α»ααααααΆααα αααααΆαα ααΆααααααααααΌαααααα
ααΆαα·αααααααΉαααααΌαααΆαααααα»ααα»αααΆααααααα·αααΆαααΆα αα·αα‘αΌααΈααα ααααΎαααΆααααααα»αααα·αααΊααΎαα‘αΎαααααα αααα αΆααΆαααΎαα‘αΎα α αΎαααΎααααα»ααααααα’ααααΆαααααααααΆαααααααααααα·ααααααααΆαα·α αα α
ααΆα§ααΆα ααα αα·αααΌαααα»ααααΆααα αααααααααα»αααααΎααΆααα αααα»αα’ααααΌααα½ααα αα·αααααααααααα·αααααα α’αααααΆαααΆαααααΆαααΆααααααααα½α α αΎααα ααΆααααα»αααααααααααΆαααΆαααα αα·αααααα’α»ααα·αααααα»αα αααααΆαααααΆααααααααααα·αα’ααα±αααα α»αααααααΎαααΆαα½αααααααααααα·ααααααααΆααααααα ααΆααΆαααααααααα α ααα»α αα½ααα αααα»αα’ααααΌαα ααΌα ααααα αΎα ααΎαααΆαααΆαααααααααααα½αααα αααααΆαα ααΆααααααααα ααΎαααΆαααααΎααΆαααααα·ααααΆα αα·αα αΆαααα·ααΆαααΆααα½αα ααα½α αα½αααΆααααΆαααα‘αΎαα’α»ααα·ααααααααα αααα»αα’ααααΌαααααα ααΆααααααΆα
αα αααα»αααααααααααα·ααααααααΆαα ααα»α ααααααααΆαααααα’ααααααααααααΆααααΆαααααααααααΎαααααααααααΆααα»αααααααααααΎαααΆαααα BGP α αααααΆαααα·ααα αααααΆαααΈαα½αα αααααΆααααα’αααα»αααααΌαααΆαααααΎαααΎα αααα’αα»ααααΆαα±ααα’αα·αα·ααααααααααααΆααααΌαααΆααααααααΌαααΆαα½αααΉααα»αααΆαααααΆααααααΆααααα’αααα»αα ααααα·αααΎααΆαααααΆαααααααΆααααααΆααααα’ααααααααααααΆαα½αααααΆααα α»α ααΎααααααΎαααααΌαααααααΎαα‘αΎααα·αααΆααααα’ααααααααααααΆαααααΆαα
ααααα·αααΎα’ααααααααααααΆαααΆααα ααΎαααααΌααα α’ααααααααΆαααααααααααααααααα·α αα αααα»αααααΉαααα·ααΆαααααααΆααααΆαααααααααααααααα·ααααααααΆαα½α ααΎαααΆαα αααΆααα αααααααα ααααααααΆααααααααααΎααα αααα»αααααααααααα·ααααααααΈααΈα αααααα½αααααααα»αααΆααααΌαα

ααΆααααααα αααααΆαα
ααΆααααααααααΌααααα
α’αααΈαααααΎαααααΎαααααΆααααΆαα’αααααααααα α»αααααα·ααααααα·ααΈ
ααααΆααααααααααΎαααααΌαααΆααααααΎαα‘αΎααα ααΎααααααα½αα ααα½ααααααααααΎαα αα α
ExaBGP ααΊααΆααααΆαααααααα’αα»αααααα»αααΆααα½αα ααα½ααααααααΎαα·ααΈααΆααααααΌαααααΌαααΆαααααααα’ααααΎ BGP α ααΎαααααΎααααΆααααΆαααΆααααααααΎααααΈααααααααααΆαα’αΆααααααΆα IP ααααααΎααααα»ααααααΈα αααα’αααααααΎααααΆααα αΌααα ααΆαα API α
HAProxy ααΊααΆα§ααααααα»αααααΆαααααα»αααααααααα’αα»ααααΆαα±ααα’αααααααααα ααΆααααααααα αααΆαααα»αααααΆαα ααΆα ααααααα’αΆα ααααααααΆααα ααααα·αααααααααααΆααααααΌ OSI α ααΎαααααΎααΆααΎααααΈααααΎαααα»ααααα ααΈαα»αααααΆααααααΆααα’ααα ααΌαααααΆααα·αααααα αααα½ααααααΆαααΆα ααααΆαααα API ααααΆααααααα ααααα ααααααααΆααααα»αααααααΎα - α’αααΈααααααααΆαααΊαα ααΈααααα HAProxy α
αααααα·ααΈ API - αααααα·ααΈαααααΆαααααααααααΆ python αααα’αααααααΎααααΆαααααααααααα αααααΆαα ααΆαααααααα αα·αααααΆααααααααααΆααα
ααΆααααα»ααααααα (ααα αααααΆααααααΆα’αααααααΎααΆα) - αα αααα»αααααΆαααα OpenStack αααααΊααΆαααα·αα αααααΆαα ααΆαααααααααααα’αα»ααααΆαα±ααα’αααααααΆαααΆααααααααΆ API αα ααΆααα αααααΆαα ααΆααααααααα α§ααΆα ααα ααΆααααααΎαααΆαααΎαα‘αΎααα αααα»ααααααα α αΎαααααΎαααααΎαααΎαα‘αΎααα αααα»α API αααααα·ααΈα
ααααΆαααααααααααααα·ααΈ OpenStack αααααααΆα
ααααΆααααααΆαα αααΎααααααααΌαααΆααααααΎαα‘αΎααααααΆαα OpenStack ααααΆααΆαααααΎααΆαααααΌαααα½αα ααααΆαααααα½αααΆααααααΆααΆα 2 αααααα API αα·ααααααα (α’αααααααα·ααααα·αααααααΆαααααα)α ααΆααααα½α API ααΊααΆαααααα·ααΈ WSGI αα αααα»α python αααααααΌαααΆαααΆααα±ααααααΎαααΆαααΆααααΎαααΆαα―αααΆααα (daemon) α¬αααααααΎαααΆαααΈααααααααΆα Nginx α¬ Apache αααααααααα½α ααΆααααα α API ααααΎαααΆαααααΎααααα’αααααααΎ α αΎααααααΌαααΆαααααΆααααααααα αααααα·ααΈαααααααααααΆααααΆαααααα·ααααα·α ααΆαααααααααααΎαα‘αΎααααααααΎαααα½ααααααΆαααΆα ααΆααααααΆ RabbitMQ ααααααααααααΌαααΆαααΆαααααααΆαααααΆαα αα ααααααααΆααα ααααααα½ααααααΆα αα½αααααααΌαααΆαααααΎαααΆαααααααααα α αΎαααααα·αααΎα αΆαααΆα α ααααΎααααααα·αα
ααααΌαααααΆαααααααααΉαα ααα»α αα½αααααΆααααΆαααααΆα ααααα‘ααααΈααα RabbitMQ αα·αααΌαααααΆααα·ααααααα ααα»αααα RabbitMQ ααΊααΆα αααΈααααΆαααα»αααααΆαααααα½α α αΎαααΆαααααΉααααΈ α’αΆα ααΆαα»αααααααααΆααααααΆααααααΈαα½ααα ααΌα αααααα MCS ααΎααααα ααααααΆααααααΆαααααααΆααααα’αΆα ααααΎααΆα αααααΆααααααααααΈαα½αα ααΎααααααΎαααΌαααααΆααα·ααααααααΆα ααααα‘αα RabbitMQ ααΆα ααααα‘ααα αα·ααΈααΆααααααααααΊααα’ααααααααα»αααααΈααΆαα§αααααα ααα»αα α ααα»α αααααΆαααααααααα½αα ααα½α αα·ααααααααΆααααααΆααααΌαααΌα ααααα ααα»ααααααΆαααααααααα½αααα»αααααα
α ααα½ααααααααα·ααΈααααααααΊααααΆααααααααα ααΌα αααα API α’αΆα ααααΎααΆαααααααΆαααααααααΆαααΆααααα½ααα ααΈααααααααα»αααααΎααααΈαααααΎαααΆαα’αα»αααα αα·αααΆαα’αααααααα ααααααα α»αα
ααααΆαααααα½αα ααα½ααααααΌαα±ααααΆαααΆααααααααααα½ααα αααα»αααααΆαααα αα ααααααααααα·ααααα·ααΆαααΆαααααααααΆαααααααα»αααααΆαααΎαα‘αΎααααΆα APIs αα·αααααααα αααα»αααααΈααα ααααααααααααααααα½ααααα½αααααΌαααΆαααααΎααααΆαα ααααααααα αααααααΌα ααΆ Redis, Memcache, etcd αααα’αα»ααααΆαα±ααααααααααααΆααααααΆααα’αααααααααααααΆαα·α αα ααΆααααααααΌαααΆαααααααα±ααααΆαα ("ααΌααα»αααααΆ")α ααΎαααααΎαα ααΆααααα½ααα½α ααααααααααΆαααααααααΆααααααααΆαα½αααΌαααααΆααα·αααααα ααααα αα·αα’αΆαααααααΆαααΈααΈαααα ααΎαααααΎ mariadb ααΆ database αααααΆαααΈααΆαααα αααα»α multimaster clusterα
ααααΆαααααααα½αααααα»ααΆααααααααΌαααΆααααα αααΆααααααααααα½αααααΆααΌαα αααααΆαα OpenStack α ααΆα’αΆα ααααΌαααΆαα αΆαααα»αααΆααΆαααααααααα·ααα·α ααααα·ααΈααΆαααααααααΆαααααΎααΆαααααααΆα αα·αααΆαα’αααααααα ααααααα α»αααΊααΆαααααααα α§ααΆα ααααααααΆααααΆαα’ααα±αααα α»α API ααΆαααααααααΆααααΎααααΈααΆαααα»αααααΆααα ααΈαα»ααα½αααα ααΆαααααΎααΆαααααααΆαααααααααααΌαααΆααααααα αααααΆααααααΎαα ααα½ααααααα½αααα
α ααα»α ααααααα αααα»ααααααααΆαααααΆααααΌαααΊ RabbitMQ αα·α MariaDB α ααααΆαααααααααααααα½αααααααΉαααα½αααΆαα’αααααααΆα ααααα‘αααα½αα αα αααα»αα’αααααααααααα»αα αααααααααΎααΆαα’ααα±αααα α»α API α

ααααΆαααααααααααααα·ααΈ Openstack α αα»αααααΆα αα·αααΆαα’ααα±αααα α»ααααααα·ααΆααα
ααααΎα±αα HAProxy balancer ααΆαααΆαα’ααααααααααααααΎ ExaBGP
ααΎααααΈααααΎα±αα APIs ααααααΎαα’αΆα ααααΎααΆαααααααΆαααΆα ααΏα αα·ααααααΉαααα α»α ααΎαααΆαααΆααα§ααααααααα»ααα»αααααΆααα ααΈαα»ααα½αααα ααΎαααααΎαααΎα HAProxy α ααΆααααα·ααααααααα»α ααΆααΆαααααααα αΆαααΆα αααΆααα’αααααααΆαααα·α αα ααΆαααααααΎαα αα»αααααΆααα ααααα·α OSI ααΆα αααΎα α ααα»α αααααΆααααααααααα ααΆααααααα αα·αααΆαααααΎααΆαααααααΆα αα·ααΈααΆααααααα»αααααΆααα½αα ααα½ααα ααΆαααΆαααααααααΆααααΆααΆαααααα
αααα αΆααααΌααααααααΌααααααααΆαααΊααΆαα’ααα±αααα α»αααααα’ααααα»αααααΆααααα½αα―αα ααΆαβααα‘αΎαβαααα»αααβαααβααΆααααβααβαααααΎαβααΌαβα ααα»α βααβααΆαβαααΆαααβαααα αα»αααααΆαβααΉαβααααβα αΎαβααααΆααααβααΆααα ααΎααααΈααΆαααΆααα»αα±ααααΆααΎαα‘αΎα ααΎαααΆαααααΎ HAProxy αααααααΆααααΆαα½α ExaBGP α
ExaBGP α’αα»ααααΆαα±ααα’αααα’αα»ααααααααααΆααααααΆαααα·αα·αααααΎαααααΆαααΆαααααααΆααααα ααΎαααΆαααααΎααααααΆααααααΎααααΈαα·αα·αααααΎααα»αααΆααααα HAProxy α αΎααααα»αααααΈααΆααααα αΆ ααΌααα·αααααΆ HAProxy ααΈ BGP α
αααααααΆααα ExaBGP + HAProxy
- ααΎαααα‘αΎααααααα·ααΈα αΆαααΆα α ExaBGP αα·α HAProxy αα ααΎαααΆαααΈαααα ααα½αααΈα
- ααΎααααααΎαα ααα»α αααααΆααααααα·ααα»ααα ααΎαααΆαααΈαααααΈαα½ααα
- αα ααΎαααΆαααΈαααααΆααααΈ ααΎααααααα’αΆααααααΆα IP ααααααΌα ααααΆαα α ααα»α αααααΆαααααα
- α’αΆααααααΆα IP ααααααααΌαααΆαααααααααααΆααα α’ααΈαααΊαα·αααΆαααα ExaBGP α
ααΆαα’ααα±αα ααααααα α»αααααΌαααΆααααααα αααααΆαααααΆαααΆαα·αααααααα’αΆααααααΆα IP ααΌα ααααΆααΈαααΆαααΈαααααΆααααΈα ααΆααααααααααααΆα α’αΆααααααΆαααΌα ααααΆα’αΆα α αΌαααααΎααΆαααΈ hops αααααΆααααΈαααααααααΆα αααααααααΎαααΎαααααΌαααΌα ααααΆα ααα½αααΈ ααααΎαααΎαα’αΆαα·ααΆαααααααααα»ααααααα½ααααααααα’ααααΎααααααααααΆααααααααΆ (ααΆααΌαα αααααΊααΆαααααΎαααΌα ααααΆ) α αΎαα ααΆα ααααα αααααΆαααΈααααα½αααα»αααααα
αααα»αααααΈααΆααααα αΆααΆαα½αααααα·ααααα·ααΆααααα HAProxy α¬ααΆααααΆααααααΆαααΈααα ExaBGP ααααααααΆαααααΌα α αΎαα ααΆα αααΆααααΆααααΌαααααΌααα αααΆαααΈαααααααααααα
ααΌα ααααα αΎα ααΎααααααα ααΆαααΌαααΆαα’ααα±αα ααααααα α»αααααα§ααααααα»αααααΆαα

ααΆαα’ααα±αααα α»αααααα§ααααααα»αααααΆα HAProxy
αααααααΆαααααΆααααααα ααΆαα·αααα’α₯αααα ααα ααΎαααΆααααααΈααααααα HAProxy ααα»αααααα·αααΆααααααΈααααα ααα αΆαααααα»ααα αααα»αααααΆαααααααααα ααΌα αααα ααΎαααΆααααααΈααααααααΆααααααααααα·α α ααΎαααΆααααααα αα»αααααΆααααΆαα’αΆααααααΆα IP ααααααΆα αααΎαα
αα»αααααΆαααα’ααααΎ DNS ααΌα BGP
αααα αΆαααα»αααααΆαααααα»ααααααΆαα HAProxy ααααααΎααα αααα·αα’αΆα αααααααΆαααΆαα ααααααΆαααΆααααα ααΆα’αΆα ααααΌαααΆααααααααΆααααΆαααΆαααα ααΌα αααααΎαααΆαααααΎαα ααΈαααα
ααΎααααΈααααΎαααα»ααααααΆαααΈαααα ααα½α 3 α’αααααΉαααααΌαααΆαα’αΆααααααΆα IP ααααα ααα½α XNUMX αα·α DNS α αΆααααα’α α’αΆααααααΆαααΆαααααααΈαα½ααααααΌαααΆαααααααα ααΎα ααα»α αααααΆααααααα·ααα»ααα HAProxy ααΈαα½αα α αΎαααααΌαααΆαααααααααααΆααα α’ααΈαααΊαα·αα
αα αααα»α OpenStack ααΎααααΈαααααααααααααΆα αααααΈααααΆααααααααΌαααΆαααααΎααααΆαα ααααααααΆαα API α ααα»α αααα ααααααααΆααααααΆααααΆαααα½αα αα αααα»ααααααααΎαα α»αααααααααααααα - public.infra.mail.ru αααααααΌαααΆααααααααΆαααΆαααα DNS αααα’αΆααααααΆα IP ααΈαααααααααΆα ααΆαααααα ααΎαααα½αααΆαααΆαα ααα αΆαααααα»ααααΆαα’αΆααααααΆαααΈααΆαααα DNS α
ααα»ααααα αΆααααΆααααΈααααααααΆαα’αΆααααααΆα IP αααα ααΎααα·ααααααααααα’αΆαα·ααΆαααααΆαααααΎαααΎααααΆαααΈααα ααααα·αααΆααααΆααα»αααααΆααα α‘αΎαα ααΆααααααΆ ααΆααααααΆαααΈααααα½αααα»αααααααΉαααααΌαααΆαααααΎαααΎααααααα’ααααΎα’ααΈαααΆαα’αΆααααααΆα IP α αΎαααΈαααααααααααΉααα ααααα αααααΆααα·αααΆαααΆααααααΆαααα αααα»α BGP ααα
ααΎαααΆαα αΆααααααΎαααααΎααααΌαααΆαααα ExaBGP ααΆαα½αααΉααααααααααααααααΆα αα»αααααΆαααΈαα½ααααααααααααΆαα’αΆααααααΆα IP ααααααΆααααΈ ααα»αααααα½ααααα»αα αααααα½ααα αααααΆαααααααΆαααα»αααααΆααααααααΌαααΆαααααΆαααΆαα·αααααααααΆαα½αααΉαααααααα’αααααααΆα ααΌα ααααααααααααααααα»αααααΆααααΈαααα»αααααΎαααΆα ααΆαα α αα ααΆααα’αΆααααααΆα IP ααΈαα½ααα ααΆαααααα»αααααΈαα½α α α αα αααααΈααΈααα ααΈααΈα α αΎαα α αα αααααΈααΈαα ααΈααΈα
ααΎααΆαα’αααΈααΎαα‘αΎααα αααααα Balancer ααααΆααααααΆαα? ααααα·αααΎα’ααααα»αααααΆαααΆαα½ααααΆααα α’αΆααααααΆαα ααααααααααΆαα ααααααΌαααΆαααααααααααΆαααΈααΈααααααααα α αΎαα ααΆα αααααααΌαααΆαα ααα αΆαα‘αΎααα·ααααΆααα½αααα ααΌα αααα ααΎααααααα±ααα’αααααααΎααααΆααααΌαα’αΆααααααΆα IP ααΆα αααΎααααα»αααααααα½αααΆαααα DNS α ααΆααααααΆαααααΎαααα»αααααα DNS αα·ααααααααααααααααΆ ααΎαααα½αααΆαααΆαα ααα αΆαααΌααααΈααααααααα»ααα ααΌααΆαααα»αααααΆαααΆααααΈα α αΎααααα»ααααααΆαα½αααααΆααα ααΎααα·αααΆαααααααΆαα’ααα±αα ααααααα α»ααααααα

αα»αααααΆα HAProxy ααα’ααααΎ DNS + BGP
α’αααααααααααΆα ExaBGP αα·α HAProxy
ααΌα αααα ααΎαααΆαα’αα»ααααααΆαα’ααα±αα ααααααα α»ααααα»αααααΈααααααΆαααΈαααα αΆαα αα αααααα’ααααΎααΆαααααααααΆααααααΆαααααΌαα ααα»αααα HAProxy α’αΆα αα·ααααααΆααα ααα»ααααααααααααΆαααΆααααΆααααααααααΆαααΈαααα ααα α»αααααααΆα ααΆααααΆααααα αααα»αααααΆααααα ααΎαα αααααααα»ααααααααΌα α ααααΈαααααααααα»ααα αααα»αααααΈααΆαααααααααα α αΎαααΎαααααΌαααΆαααααααΆααααααα
ααΌα ααααα αΎα ααΆααααααΈααααααααΆαααααΈαα»α ααΎαααΆαα’αα»ααααα ααααΆαααααααΌααααΆα ExaBGP αα·α HAProxy α αααααΊααΆααΆαα’αα»αααααααααα·ααΈααα’αααααααααααΆα ExaBGP αα·α HAProxy αα αααααα ExaBGP ααααΎααααααΈαααααΆαααααα½αααΎααααΈαα·αα·αααααΎαααααΆαααΆααααααααα·ααΈα
ααΎααααΈααααΎααΌα αααα α’αααααααΌαααααααα ααΆαααααααααααααα·ααΈαα·αα·ααααα»αααΆααα αααα»α ExaBGP config αααα’αΆα αα·αα·αααααΎαααααΆαααΆααααα HAProxy α αααα»αααααΈααααααΎα ααΎαααΆαααααααα ααΆαααααααααααααααΆαααααααα»αααΆααα αααα»α HAProxy α αΎαααΈααααα ExaBGP ααΎααα·αα·αααααΆαα½αααΉαααααΎ GET ααααΆαααααα½αα ααααα·αααΎααΆααααααΆααααααΎαα‘αΎα ααα HAProxy ααααααΆαα·αααααΎαααΆα α αΎααα·αα αΆαααΆα αααααααααααΆαααΆααα

ααΆααα·αα·ααααα»αααΆα HAProxy
HAProxy Peersα ααΆαααααΎααααΆααααααααα
ααΏααααααΆαααααααααΌαααααΎααΊααααΎααααΆαααααααααα αα αααααααΎααΆαααΆαααααααα»ααααααααΆαα ααα αΆα ααΆαα·ααΆααααα»αααΆααααα αααΆααααα»αααααααΆαα’αααΈααααα’αα·αα·ααα ααα»αααα HAProxy ααΊααΆααααααα½ααααα»αααααΆααα½αα ααα½ααααα’αΆα ααααΎααΌα αααααΆααααααΆααααα»αααΆα Peers - αααααααΆααααα»αααΆααααααααΆααΆααααααααΆαααααΎαααΆα HAProxy ααααααααααΆα
ααΆααα·ααΈααΆααααααα»αααααΆααααααααααΆ: ααΆααααααΌα ααΆ αα·αααΆααααααΈα αα ααααααααααααααα’αα·αα·ααααααΌαααΆαα αα αΆα α αΎαααΆααααααααααΆαααααα αααα ααΎαααΆαααΈαααααΌα ααΈαα»αα ααΎαα ααα’αα»αααααααααΎαααΈααΈαα
HAProxy ααααΎ stick-tables ααΎααααΈαααααΆαα»αααααα’αα·αα·ααααααααααΆααααα αα½ααααααααΆαα»αα’αΆααααααΆα IP ααΎαααααα’αα·αα·αα α’αΆααααααΆαααααα αααααΆαααααΎαααΎα (αααααααΆαααααα) αα·αααααααΆαααααΆαααααα½αα ααα½αα ααΆααααααΆ ααΆααΆαααααααααΌαααΆαααααΎααΎααααΈαααααΆαα»αααΌααααα-IP + αα·ααα -IP αααααΆαααααααααααΆαα·ααααααααΆαααααααα·ααΈααααα·αα’αΆα αααααααα·αααααα’αααααααΎααααΆαααα αααααααΌααα α§ααααααα»αααααΆααααααααα α§ααΆα ααααα αααα»ααααααα»αααααΆα RoundRobin α
ααααα·αααΎααΆααΆαααΎααααΌαααΆαααααααα±ααααααΆααααΈαααΆαααααΎαααΆα HAProxy ααααααααααΆ (αααΆααα»αααααΆαααΎαα‘αΎα) αα»αααααΆαααααααΎαααΉαα’αΆα ααααΎααΆαααΆαα½ααα»ααΎαα½αα ααΆβααΉαβααααΎβα±ααβααΆβα’αΆα βααααΌαβαααααΆαβααααβα’αα·αα·ααβααΆαβαααΆαβαααΌα ααααα·αααΎβαααα»αααβααΆαα½αβαααΆααα ααΆαααΆαβααΆαα½αβααααβα’αα·αα·ααβααΉαβααααβαα ααΎβαααααα·ααΈβααΆααααααβααΌα ααααΆβαααβααααΌαβααΆαβααααΎαααΎαβααΈαα»αα
αααααΆααααααα·ααααα·ααΆαααααΉαααααΌα αααα αΆααα’αΆααααααΆα IP ααααααααα»αααααΆααααααααααααΌαααΆααααααΎαα‘αΎαααααΌααααααααααΆαα αααα»αααααΈααααααΎα αααααΊααΆα’αΆααααααΆαααΆααααααα ααΎα ααα»α αααααΆααααααα·ααα»αα
ααΆαααΆαααααΉαααααΌααααααα·αααααααα·ααΊαααααα ααΆααααααα»ααααααααααα½αα ααα½αααα»αααααα αααααΊααΆαα’ααααα TCP ααααΌααααααααα α¬ααΆαααααΌαααααΌαααααΏααααααααααΆαα ααΌα αααααααα TCP αα·αααΆααααααααΆααΎααααΈαααα ααα ααααααΆαααΆαααααααΆα’αα»ααααΆαα±ααααΆαααΆαααααΆααααααΌααααααααΆααααααα
αα αααα»α IaaS ααΎαααΆαααααΆαααααα½ααααααααΌαααΆααααααΎαα‘αΎααααααααΎαα αα αααα·ααααΆααΌα ααααΆα αααα αααααααΌαααΆαααα α ααΆ Octavia α ααΆααααΌαααΆαααα’ααααΎααααΎαααΆα HAProxy ααΈα α αΎαααααΌααα½ααααα αΌαααΆαααΆαααααααααΆαααα·αααααααα·α αα½αβααβααΆαβαααα αΆαβαααα½αβα―αβααΆβααΌααβαααα»αβααααΆααααβαααα
ααΌαααΆααααα αΆαααΈα αααΆααααΆααΆααα·ααααααααα·αααΆαα§ααΆα ααα HAProxy α ααα½αααΈ ααΆααααααααααΌαααΆαααααΎα‘αΎαα’αααΈαααααααααΆα’αΆα ααααΌαααΆαααααααα ααΆααααααααα

HAProxy Peers (ααΆαααααΎααααΆααααααααα)
ααααα·αααΎα’αααα’αα»αααααααααααΆαααααΌα ααααΆαααααααα·ααααα·ααΆαααααααΆααααΌαααααααΌαααΆαααΆαααααααααααα»αααααααααα ααΆαα·ααααααΆααΆααα·ααααααΆααΆααΉαααααΎαααΆαααΌα ααααΆ 100% αααααααααΆαααααα ααα»αααααααΆαα αα ααΆααα’αααααΉααα·αααΆαααααααΆααΆαααΎαα αα ααααααα’αααααααΌαααΆαα αα αΆα IP αααααααααα’αα·αα·ααα
ααΆααααααα ααα½αααααΎαααα»ααααααααΆαααααΆααΈα’αα·αα·ααααΌα ααααΆα
ααααΆααααααΆαα½ααααα’αΆα ααααΎααΆαααΆααΆααΆααα αα½αααΆαα APIs ααααααΎα α’αΆα ααΆααααααααα»ααααΆαααααΎααα»αα α ααα»αααααααΆαααα½αααα’αΆα ααΆαααΆααα»αααααΆααΆαααααα»α ααΈααα α»αααααα’αααααααΎααααΆαα αα αΌααααααΆαααΆααααα αΆαααααα α ααΎαααααΌαααΆα DDoSed ααΆαααααΆαααααα’αΆααααααΆα IP α α’αα·αα·αααααααααααΎαα»ααα αααα»αααααααΈααααααα½ααα α αΎααααααα±ααααΎαααΌα mini-DDoSs α
αα·ααΈαα½α α¬αααααααΆααααααααα ααΆαααΆαααΆαααααααααααΌαααααααΌαααΆααααααααΌαα αααααααααΆαααΆαααααααααΊαααααα ααα½αααααΎ API αα·ααα·αααααααααΆααααααααΆ CPU ααααΎαααΆαααααΎααααΆααΆαα
ααΎααααΈα’αα»ααααααΆαααΉααααααΉααααααα ααΎαααααΎααααααααα’ααααΆ ααααααα ααα ααΎααΌαααααΆααα HAProxy αααααααΎααΆααΆαααΎααΌα ααααΆα ααΆααααααααααααααααΊααΆααααααΆαα α αΎαα’αα»ααααΆαα±ααα’ααααααααα’αααααααΎααααΆαααααα ααα½αααααΎαα API α αααα½ααααααααΆαα αα αΆα IP ααααααααααααΎααααΌαααΆαααααΎα‘αΎα αα·ααααααα ααα½αααααΎαααα»ααααααααΆαααααΆααΈα’αααααααΎααααΆααααααΆααα ααΆααΆααα·αααΆαα ααΎαααΆαααααΆαααααααααα»α API ααΆααααααααααΆααααααΆααααααΈαα½αα α αΎαααααααααααααα β 10 ααααααααααααα ααΎαααααααΆαααΆαααααΆαααΆααααΆααα·αααα αα·ααααααΆααααΆαααααααααΎααα ααΎααΈαα αα
ααΎαααααΎααα ααΌα α’αααΈαα αααα»αααΆαα’αα»αααα? ααΎαααΆαα’αα·αα·αααααααααΎ APIs ααααααααααααα·ααααααΎαααααααααααααΆα αα½ααααααααΎααααΆαααΈααα·αααα·ααααα ααααΈααα ααΈαααα αααααααΉα α αΎααα»αααΆαα αααααααΆα α αααααΆαα OpenStack ααΆααααααΎααααΆαααΈααα·αααα·α αα½αααΆααααααΆαααα PaaS ααΆαααΆααααΆαα αα ααΆαα 1000 ααααΎ API α αΆααααΆααααΈα’αααααααααααΆαααααΆααααααααΎαα‘αΎαααΆαααα API αααααα
ααΆααααααααΆααα·α αα αααααααααααΆαα±ααααΆαααααα»αααααααα ααΎαααΆαααΆααααααααααα»αααα αααααΌαα ααα½αααααΌααααα αΆααααα αααααΎαα ααα½αααααα α αΎααααααΆαααααΆαααΆααααααααα’ααααΆααααααΎαα ααΎααα»αααααΆαααααααααΎααα ααΎααΈαα αα ααΆααΉαααΆααααΎαααΎα bots αα·ααααΆαααΈαααααααααααααΆααΆαααΎαααααΎαααΎααααΈααΎαααΆααΎααΎαααΆαααααααΈα CGA ααΆαααα’αΆα ααααΎαααΆαααΆα ααΎααααα»αααΆααααΆαααΆααααααα
ααααα’αΆαααααααΌαααααΆαααΌαααααα’αααααααα·αααΆαα’αααααααΎααααΆααααααααααΆαα
ααΎαααα’αα»ααααααΆαα’ααα±αααα α»ααα ααααα·αααααααΎαααΆαααΆαααααααΆαααΌααααααα ααΆα’αΆα ααΆαααα α»αααα‘α»ααααααΆααα±ααααααΎαααΆα ααα»αααααααααααΆααααααααΆαα ααΎααΆαααΆαααααΆααααα’αΆα ααααΌαααΆαααααα½αα’αααααααΆα
ααΎαααααΎαα αα α»ααααααααΆαααααΆααααααααααΎαα₯αααααα α αΎαααααΌαααααΆααΆααΆααΌαααααΆαααΌαααααΌαααΆαααααΎαα αα α»ααααααααΆαααααα·ααααααΆαααααα’αααααααΎααααΆααα ααΎαααΆααααααααΆααααα αΆααααααααααΎαααααααΆαααααααααααααα HAProxy αα·αααΆαα’αα»ααααααΆααα·αααααααααααα αααα»αααααΆααααααααααΎαα
ααΎααααΈαααααααΆααααα αΆααα ααΆα αΆαααΆα αααΎααααΈααΆααΆααΆαααααααααααα»αααααΆα αα·αααΆααα·αααααΆαααα "ααααΉαααααΌα"α
- αααα»αααααΈ HAProxy ααΆααααααααααααααΌαααΆαα’αα»ααααααΆααααα―αααΆααααα·αα· αααααααΆααααΊαααααα½α α αΎαααααΌαααΆαααααααα αααα»αααΆαααααααα ααΆαααααααα HAProxy α α’αααα’αΆα ααααΎααΆααααααααΆαα ααΆααΆαααα stdio α ααα»ααααα§ααααααααα½ααα·αα·αααααΆαααααααα ααΆααααααααα ααααααααααΎαααΊαα·αα’αΆα ααααΎααααΆααααΆα ααΌα ααααααΆααΆααααΌαα»ααααααααΆααααααΆαα½ααααααΆααααααααααα HAProxy α αααααΎαααααΎαααΆααααααα
- ααααΆαααα API αα·α Engine ααααααΎαααΆαα αααΎαααΆαααααα αα αααα·ααααΆαα·ααααΆαααααα·αα αα ααααα·α αα½ααααααα αΆαα±αααα·α αα ααΆααα αα α»αααααααααα αα ααΆααΎααΆααΆααααΎ http α¬αα·α αα ααΆαααααΆαααααα½αα ααα½αα ααΏααααααααααΎαα‘αΎαααΆαα½αααααααα ααΆααΉαααΈαα·α αα ααΆαααΆααα’ααααααααα½ααααα»αααααΎ α αΎααααα αααα ααααααααΆααΆααααα ααααααααααΆααααααααααα
ααΌαα’ααα»αα ααααα ααα»α ααΆααααΈαααα αααα½ααααααααΆααα»ααααα·ααΆααααααΆααααΆαααΆαααααααΆαααααααΎαααΎααα ααΌα αααα
- α’αααα’αα·αααααααααααΌααααα»ααααα ααααΌαααααΈ (αααααΆααααΎααααααΊααΆ RPM) ααΆαααααααΆαα αααα»αααα·ααααΆαα’αααα’αα·αααααα ααΆαααααααΆαααα»αααααΆααααΆα α αΎααα»αααΆαα αααα»αααααΆααααααΆααααΆαα
- α’αααα’αα·αααααααααααααΆααα·α αα αααααΆααααΆαααΆαααααααΆαααΆαα½αααΉαααΆααα·αααααΆαααα’α·ααααα»ααα "ααααα»αα»ααΆα"α αααααααααα ααααααΈ ααΆααα·αααααΆα’αααΈαα»αααΆαααααΈ αα·αααααααΆααααα’α·αααααααααα’αααΈααΆαααΆααα±ααααααΎααααΆααααααα·αααΎα αΆαααΆα αα
- α’ααααααααααααααααααααα
αΆααααααΎαααααΎαα
αα
α»ααααααααΆαα ααΎαααααΎαααΆα Ansible playbook αααααααΎααΌα
ααΆααααααα
- αααααα αααα½αααΈααααΆααααααΆααααΆα α αΎαααααΎααΆααΎααααΈααααΎαα αα α»ααααααααΆααααααααααα αααα αααα»αααααΆααααα·αααα
- α ααααααααααΈαααααααααΆααααααααααααΆαααααααααΆαααααΎαα αα α»ααααααααΆαα
- αα·αααααΆααααααααΌααααααααΌαααααΎαα αα α»ααααααααΆααα αααα»α HAProxy α αΎααααα αΆαααααΎαααΆαααααααΆαααα ααααααΎαααΆαα ααΌαα’ααα»αα ααααααΆααα·αααααααααααΆααααααααα ααΎαααΆααααα»αα α·αααααΆααΆααααααΎααααα’αα·αα·αααα αα α»ααααααααΉααααα αααααααααααα
- αααααΆααααΈ API αα·αααααααααααΌαααΆαααααααααΆαααααα»α α αΎα HAProxy ααααΌαααΆααα·α αααααΌαααααΌαααΆαααααΎαα αα α»ααααααααΆαα
- ααααΆααααααααΎαααΆα Ansible α
- αααααΆααααααΆααααααΈαα½αα "α ααα»α ααΆα" ααΆααααΆααααααΌαααΆαααΆα αααα’αα»ααααααΆαααααΎαααααα―αααΆααΎααΆαααααΎααααααααααΉααααααΆααααααααΆαα»ααα½αα ααα½αα ααΆααααα½ααα·αα·αααααΆααΌαααααΆααααααααΌαααααΈααΎαα‘αΎαα
- ααααα·αααΎααααΆαααα α»αααααΌαααΆαααααΎααα αααα»αααα αΆααα»αααααα αααααα·ααΈααΆααααααααααΌαααΆαααααΎα±αααααααα
- ααααααααα αααααααΆαααααααααααΆααα
- αααααΆααααΈαααααα·ααΈααΆααααααααΆααα’ααααααΌαααΆαααααΎαα αα α»ααααααααΆα ααΆαααααΎααααααα»αααΆαααααΌαααΆαα αΆααααααΎαα ααααα·αααΎαα½αααααΆαα αααα’αααα’αα·ααααααααΎααα»αααΆαααααΈααΆαα½ααααααΆααααΆααααααΎαα
ααααααα ααααΆαααΆαααααααΆαα

ααααααααΆαααααΎαα
αα
α»ααααααααΆαααααΆαααα
αααααααΆααααααααΉααα·αααααΎαααΆαααααααα·αααΎααΎααα·αααΆαα αααΆαααααα½αα ααΎαααΆααααααΆααααααα αΆαα αα·αααααΈαα αααα»ααααααΌαα·α ααΆαα»ααα ααααΆααααΆαααααΆαα’αα·αααααααααααα·ααΈααΆααααΌαααΆααααααααΆαααααΈααΆααΆαααΆαααααΆααααααΌααα αααα»αααΌαααααΆααα·ααααααααααΆααααααααααααα½αααααΉααα·ααααααααΌαααΈαα»ααααα ααΆαααααα ααΌαααααΆαααΌαααααΌαααΆαααααΎαα αα α»ααααααααΆαααααα·α αααααα
ααα ααααΈααααα·ααααΆα
α ααααααααααα·αααααΆαααααα½ααααααααα»αα’αααΈααααΆααααααααααα ααααααααα’ααα±αα ααααααα α»α αααα»αα ααααααααααΆαααααααααααΌαα ααα»α ααααΆαααααααααΆα
- ααΆαα’αααααααααααα α»αααΆαααΆα;
- ααΆαα’αααααααααα α»ααααααΆα (αααα»ααα, BGP);
- ααΆαα’ααα±αα ααααααα α»ααααααααα·ααΈαααααΆαααααΎ αα·ααααααΎαα
ααΆαααΆαααΆααααααααΆαααΆααα’ααααααΆ!
ααααα: www.habr.com
