ααααααααααΆαα½αααΆαα
αΆααααααΎαααΆαα½ααααΆαααΈαααααΈαα ααααΌαααΆααααΆαααΈααα DB αα½α αααααΆααααααΆαααααααΌαααΆααααααααα
ααΆααΎααααΈααααΎααΆαααααααΆαααΆαα’αΆαα α αΎααααααΆαααα - ααα! ααΆαα
α
α αααΆααααα½α ααα»ααααααΆαααΆαααααΆα
αααΎα ααααα·αααΎααΆαααααααΆααα
αΆαα
αα αααα’αααΈαααΉαααα’ ααα»ααααααααα·αααΎααα
αΆαα
αα ααΆααΉαα’αΆαααααα αααααααΆααα
αΆα α’αααααααααααααααα»αααααΆααΆαααα‘αΎααααΆαααΈαααα α’αααΈβαααβααααΌαααααΎ? ααααα»αααα αα αααα·ααααααααα»α Pavel ααΆαααααααα½α
α αΎαα’αααΈααΏαααα
α
αΌαα
αΆααααααΎαααΆαα½αααΉααααα½αα
αααα: "ααΎααΎαααΉαααααΌααααααΌααα
αααΆαααΈαααααΈαααααααααΆαα
αααααα
αΆαα
αα?"
- αααα»αα αΌαα α·ααααααααααΆαααααΆαα½αααΈα’αΆαααΈ (α’αΆαααΈαα·αααα·α) αααα»α ααΎαααΉααα·ααΆαα’αααΈααΆααΆααααααα ααΆααΊααΆαααααααα»α αα·αααΆααααααααααα»α αααααΈααΆααΆααΆαααααααααααΆααααααααααααα αααααααΎαααΉαααααα»ααα»αααααΌααααααα·ααα αααα»αααααα L2 ααΆαα½αααΉααααΆαααΈαααααΈ αααααΊααΎαα’αΆα ααααα α’αααΈ DC ααΈααΈαα α αΎαααΆααααααααααα·αααααααΆααα½α ααααα·αααΎα’αααααααΎααΆαα αααΆαααααααΆ L2 ααααΊα’αΆααααα ααΈααααα L2 ααΊααααΉααααααα»ααα½α rack α αΎα L3 ααΊαα α ααααα racks α αΎααααααααΆαααααααααααΆαααΆαααΉααααα·αααααααα
- α’αααα’αΆα αααααααααα DNS αα αααα»αααΌα α αΎααααααααΆαααΆααΆαααα /etc/hosts α ααΆααα·αααΆααΉααα·αααΆααααααααααΆαααα α’ααααααααααααααααααααΆααα: αα·αααΆαααΆαααααααααααααααα·ααΈααΆαααααααΈαα½ααα αααααΊα’αΆα αααα α DC ααααααΆααααΆαα ααα»αααααααααΆαααααααα½αααΆαααααααααΎαα‘αΎα: ααΎααΎαα’αΆα αααααΌαααΆαααααΆααααααΌααα /etc/hosts ααΆαααα Puppet-Ansible ααΆαααΏαααα»ααααΆ?
- α’αααα’αΆα ααααΆααααααΌααα·ααΈααΆαααααααΈααΈαααααα·α α ααα‘αΎαααααΆαααααααΆαα DNS αα ααΎαααΆαααΈααααααααΆαααΆααα’αα ααΆααααααΆααααααΌαααΉααα ααΌαααααΆααα·ααααααααα α’αααα’αΆα ααααα TTL 60 αααααΆααααΆαα»ααααα αααα»α DNS α ααΆα αΆααααΌα ααΆααΆααααα·αααΎα’αα»ααααααΆαααααΉαααααΌααα·ααΈααΆαααααααΊααα’α
- αααααααΆαααααΆαα½αααΉαααΆαααααΎαααααΆαααα αααααααααααΆαααααΎααααΆαααα»αααα»α αα·ααα
- αααααΎααα½αα±ααα
αΆααα’αΆααααααααΆαα½α
ααααΌααααΈSQL . α’αααααααΌααααααΌαα ααΆα αααΆααα’αααα ααΆαα MySQL ααΆαααα ProxySQL; ProxySQL αααα½αααΆα’αΆα αααααααΆα’αααααΆααΆααα ααααα·ααΈαααα’αααα’αΆα α’αΆαα’αααΈαααααΎααα½ααααα»αα αααααααααΎααααααΆααααΆαααααΎααααΆααααα·αααααααα αααα»ααααααααα»αα’ααααα .
α’ααααα·αααααα Orchestrator αααααααΎααΆααα Github ααααΌαααΆαα’αα»αααααααααααΆαααααααΌαααΆαα½α VIP α αΎααααααΆααααααΆαααααααααΆαα ααΆαααααααΆαααααΆαα½ααα»αααα»αα
αααααα αααααΆαα ααΆααααααααααααααΆα
αααα»αααΉααααααΆααααΆααα’αααΈααααΆαααΆαααΆααααααααααα
αΆαααΆα
αααααΌααααααα·α
αΆαααΆα
- α’αΆααααααΆα VIP αα·ααα½αααααΌαααΆαα α»αααααααααα»αααΆαααααααα ααΎαααΆαααΈαααααΆαα½αα‘αΎαα α αΌαααΎααααααααΎαααααΆαααΆααα½αα ααααΆαα αΆααααααΎαα‘αΎααα·α α αΎααααααααααααΆαααα»ααααα»α α’ααα Orchestrator ααΆαα αΌααα αααα»ααααααααΆααα α αΎαααΆαααααΎα±ααααΆαααααααΆααααααΆαααΆααα αααβαααβααβα αΆααβααΆαβαααααβα‘αΎα α αΎαβα₯α‘αΌαβ VIP αα·αβα‘αΆαβααΈαα αααβααΆβααΏαβα’αΆαααααα
- αααααΆααα’ααααααααααα α’αααααΉαααααΌααααααα’αααααααααΆααα α ααα αΆαα αα·αααααααΈα αα ααΎααα αΆαα α’αααααααΌαααααΎαααΆα ifdown α αΎααα ααΎααααααΈ - ifup vip α ααΆααΆααΆαααα’αααα»αααΆααα½ααααα αΌααα αααα»αααααααΈααααααααα ααααα αααα»αααααΉαααα·ααΆαααααααΆααααΆααα α ααααα ααΎαα»αααΆααααααααα αΆααααααΌαααΆααα·ααααΆαααΆαααα ααΎααααΈαααααΆαααΆαααααααα½αααααΆαααΆαα½αα
- αααααΆααααΈ Orchestrator ααΆαα α script ααααα’αααααΎααααΈαα VIP αα·α/α¬αααααα port α ααααΈ switch α αΎααααααΆααααα α ααΆ VIP raising script αα ααΎ master ααααΈ αα»αααααα ααααΎααΆααααααααΆ arping ααΎααααΈααααΆααα’αααααΆααα’ααααααΆααΆ VIP ααααΈα₯α‘αΌαααα αα ααΈααα
- ααΆαααααΆααα’αααα½αααααΆα read_only=1 α αΎααααΆαααΆα’αααααααααααααΆαααΆααααα αα ααΆαα½αααααΆα read_only=0α
- αα»αααααα ααΆααΆαααααΆαααααΎαααααΎαααΎααααααΆαααααα’αΆα ααααΆαααΆααααΆα (α’αααααααα»ααααααααΈααΆαααααααΆαα αααΌαα α·αααααΆααααΌααααααΆαααααααΌααα·α αΆαααΆααΆααααααααααααΆααα α α αααΆαααααΈαα ααααααααααΌα ααααα ααααααααΈααΈα αα·αααΆααααα½αααΆαα½α αα·αβααααΌαβααΆαβααααΎαβααΎαβαα βαααααβααΆααααααβααΆβαα½αβαα)α ααααα·αααΎααΆαααααααΆαααΆααα αΆαα αααααααα»αααααααΆαααααΉααα ααααΆααα ααΎααΆ α αΎαααααα»αααααα α α αααΆαααΉαααααΌαααΆααααααα αααααααΌααααααααα·α αΆαααΆα
α ααα»α’αααΈααΆαααΆα’αααααααΌαααΆα Orchestrator ααααα·αααΎα’ααααα·αααΆααα½α?
- Orchestrator ααΆαα ααα»α αααααΆααααααΆα ααα·ααααααΆααααα½αααααΎααααΆααααΆαα ααααααα αΆαααΌα topology ααΆααααΌα (ααΌαααΎαααΌαααα’ααααααααΆαααααα)α
- Orchestrator α’αΆα ααΆαααΆαααΆααΎααΆαααααΆαααααααααΊααααΆα αα·ααααααααααααΆαα ααααααΆααΌαα ααααΌαααΆαααΌα (ααΎαααΆαααααααΈαααααΆααααΆαα½α Orchestrator αααααΆααααααΎααΆα SMS)α
- Orchestrator ααααΆααα’αααααΆααΆαααααΆαααααΆαααα α»α GTID α
α ααα»α αααααΆαα Orchestratorα
ααΎ GTID αα»αα’αααΈ?
ααΆααααααΌαααΆαααααΆααααΈααααααΆαα Orchestrator ααΎααααΈααααΎααΆαα
- ααΆα αΆαααΆα αααα pseudo GTID ααααΌαααΆαααΎααα ααΎαααΆαααΈαααΆααα’αααα αααα»α MySQL cluster ααΎαααΆαααΎα GTID α
- ααΆα αΆαααΆα ααααααΆααααααααα binlogs αα αααααααΈαααααα α’αααα’αΆα ααααΎααα ααααΈαααααααΆαααααΆαα ααΎαβααΆαβααΆαβαααααβαα ααΆααααααααβαα½αβαααβαα αα·αβααΆαααβααΆαβα αααΎαβααΆαβαα½αααα α αΎαβααΈαβααΆααβααΆβαααααααα·ααΆαααααβαα βαααα»αβααααβα αααα»αα ααΆαααααα Orchestrator ααααΆαααααα·αα ααααααΆααααΆαααααΆααααααα ααΉαααα αΆααααααΈααα
ααΌαα
αΆαααΆα’αααΈαααααααΆαααααα»ααα
αααα»αααΆαααααα·αααααααΊααΆααααΈαααααΆααααααΆααΆαα½ααα! ααααα·αααΎα’αααααΆαααΎαααααΎαααΆα Global Transaction ID (GTID) ααΆαααα αα·α slave ααααα’ααα αααα’αααα’αΆα
ααααΎαα»αααΆα gtid_subset ααΎααααΈααααΎαααΆααΎααααΎααΌα
ααααΆαααααΆααααΆαααααΆααααααΌααα·αααααααα·αααΆααααΌαααΆαααααα·ααααα·αα
ααΎαααΆαααΈαααΆαααααα¬α’ααα α’αααα’αΆα
α’αΆαααααααα’αααΈααΏαααα
ααΌα αααα Orchestrator αααα αΆαα’αααααΆααααααα α»α GTID ααΆααΆαααααα·ααααα·ααΆαααΎ slave ααααα·αααΆααα ααΎααα α ααα»α’αααΈααΆαααΆααΏααααααΎαα‘αΎα?
- Read_only=1 αα·αβααααΌαβααΆαβααΎαβαα βααΎ slave ααΆαβααααΆβααααΆααβααΆαβααααΆαα αα·αβαααααβααααΎβααΎααααΈβααααΆααβααααΌαβαα·ααααααα
- Super_read_only=1 αα·αβααααΌαβααΆαβααΎαβαα βααΎ slave αα αααααΆααβααβα’αααβααααααααα αααβααΆαβα ααα‘αβαααΆαααΈαβαααααΎ ααΆαβα αΌαβαα βα αΎαβααααα·ααααα·βααααΎβαα βααΈαααα
- ααααα·αααΎα’ααααα·α
αΆαααΆααΎα
ααα»α
ααΆααααΈααα»α αααααΆααααα·α
αα½ααααα αα
αααα»α MySQL ααααΎααΎααααΈαα»α binlogs αααα
binlog ααα ααΌα
αααααα
ααα flush ααααΌα ααα α»α GTID ααΉαααα
α‘αΎααα
ααΎαα αα·αααΆαααααΆααα’ααα ααΎααααΎααΌα
ααααα
ααΎααααΈαααααΆααααα αΆααα? Perona-5.7.25-28 ααΆαααααΆαααΆαααααα binlog_skip_flush_commands=1 αααα αΆαααΆααααΆαααααα flush αα
ααΆαα binlogsα ααΆααα½ααααααΆααααααΎαα‘αΎααα
ααΎααα ααααα mysql.com
ααα α»α .
αααα»αααΌαααααααααΆααα’ααααΆαααΎα ααααα·αααΎβα’αααβαα·αβα ααβααααΎ Orchestrator αααα»αβααααβαααΆαααβαα α‘αΎαβαα ααΌαβααΆααααΆβαααα»αβααααβααααααα αααααΆααααα’αααααΉααααααααΆααααααΈααα’αααααααααααααΆαααΈα MySQL αα·αααααααΆααααααΎαααΎαα’αααΈααααααααααΆαα αααααα ααΎαααΆαααΈαααΈαα½ααααΆααΎααΆααααααα»αααΊααααΆαα αΎαααααΆαααααα»α ααΎαα½αααααΆαααΆααααΈαααααΆααααααΆααΆαα½αααααα»ααααΆ!
αααα½αααΆαααααααααΊα "ααΎ Orchestrator αα½αααααΎααΆααααΆαααΌα ααααα ?" ααΆααααααΌαααααααΎαααΎαααααααΈααΈααΆααααα αα α»αααααα α αΎααααααΆααααααααΆααααΆαααααΆααα’αααα ααΆα‘αΎααα·α (αααααΊααΆα’αααΈααα GTID ααααΌαααΆααααααΆαα ααααα·αααΎα’αααααααΎααααααΆαα αΆααααΆαα½α binlog_name αα·α binlog_pos αααααΆααααααααΌαααΆαααααΈαααα αα α»αααααααα ααααΈαα½αα ααΆαα·αα’αΆα αα αα½α αα!) αα»αααααααααΎαααΆα Orchestrator αααα»αααααΆααααααΎα’αααΈαααΆααα’ααααααααααα ααα αΆααααΆααααα½αααααααΆαααα§ααααααααααΆ Adaptec ααα’αΆααααα ααΆααΆαααΆααααααα αα 10 ααΆααα αααα»αααααΌαααΆαααααα VIP ααΈαααα ααΆαααααααΆαα α αΎαααααΆααααΆαααααααααααααΆααα’αααα ααΆαα·αα ααΎαααα»αααααΌαααΎααα»αααΌαααα»ααααΆαααααΏα ααΎαααα»ααααα αΌαααΆααααααααΆααααΆαααααΆααα»ααααΆα... αααα»αααααΌααααα αΆααα αΌαααααααα 3 αααααααΊ ααααααα»αα ααααΈααΆαααααΆααα’αα ααΎααααααααΈα ααααΎαααΆαααΈαααΈαα½αααααααααΈα ααααΆαααααΆαααΈαααΈααΈαααααΆααα ααΌα αααα α αΌαααααΆααααΆαααααααααααααΆααα’αααα ααα αΆααααααΈ α αΎαααααααααααα»ααα·αα ααα»ααα αα½αα’ααααααΆα ...
ααΎ Orchestrator ααααΎαααΆααααΆαααΌα ααααα αα ααααααααΆα αΌααα αααα»ααααααααΆααα? αααααααΌαααΆααααα αΆααααΆαααΆααααα½ααααα»ααααα§ααΆα αααααααααΆαααΆααααααΎαα ααααααΎα±αααααα½ααααΆαααΈαααααΆαα₯αααα·αα αα·αααααΎαααΆααααααΎαααΆαα₯α‘αΌααααα
αα½ααααααα αΆαααΈααΆαααααααΆαααααααΎαααΆαα ααΎβααΆαβα’αααΈβααΆαβααααΎβαα½α
βα αΎαβαα αΌαβαααβα
ααα»α
βααα? ααΎαααΆααα·ααΆαααΆααΎαα
αααααααΎαααΆαααααααααΆα
α
α αααΆαααααΈ Orchestrator ααΆαα
αΆααααααΎαααααΆααααΆαααααααααααααΆααα’αααα
ααΆα‘αΎααα·ααααααααααΈααΎααα½ααΆαααΆαααΈαααααααΆααα ααΆαα½αααΉααααααααΆαααααα αα·αααΆαααα α»αααΎαα‘αΎααα ααΆαααααΆααα’ααααααΎαααΆα Orchestrator αα VIP α
ααααΈααα
αΆαα αααααααΆαα
ααααΈ ααααΎα±αα read_only=0 α αΎαααααα
α’αααΈααα
αΆααα ααΆααα’αα! αααααααΆααα
αΆαααααααΆααααααααααΎαααΊααΆαααααααΆαααααααααΆαα VIP αααααΆααααααα 2-3 αα·ααΆααΈα
α’ααα αΎααααααΆααααααααα α’ααα»αα’αααααΆααα’ααααααΆα ααΉαααΆαα’αααααααΈααΈαα’αααΈ Orchestrator ααΆααααααα αα
αααα»αααααααΆαααααααΌαααααααααΈααααΆα "ααΆαααααΆα" αα½α’ααααα½αααΆααα·ααΆαααΆ "αααα»αααΉααα·ααα
ααααααααΆαααααΆαα½αααΆαααα!" ααΌα
αααα Orchestrator αααα»αααΉααα
ααΆαα½αα’ααααααα»αααΆαααααααααΆααα!
ααααα: www.habr.com