This is the talk given at Highload++ 2014 in Moscow, Russia. The topic was partition tolerance testing of Galera in a noisy high load environment with NetEm and Docker.
5. Seed quotes..
â âNetwork is reliableâ - a fallacy of the distributed system. â - Peter
Deutsch
â A distributed system is one in which the failure of a computer you didnât
even know existed can render your own computer unusable. â - Leslie Lamport
â Never attribute to malice that which is adequately explained by stupidity.
â - Hanlonâs Razor
â Never attribute to Byzantine failure which can be explained by an ill
node(s) â - Me
5 / 92
6. Seed quotes..
â âNetwork is reliableâ - a fallacy of the distributed system. â - Peter
Deutsch
â A distributed system is one in which the failure of a computer you didnât
even know existed can render your own computer unusable. â - Leslie Lamport
â Never attribute to malice that which is adequately explained by stupidity.
â - Hanlonâs Razor
â Never attribute to Byzantine failure which can be explained by an ill
node(s) â - Me
6 / 92
7. Seed quotes..
â âNetwork is reliableâ - a fallacy of the distributed system. â - Peter
Deutsch
â A distributed system is one in which the failure of a computer you didnât
even know existed can render your own computer unusable. â - Leslie Lamport
â Never attribute to malice that which is adequately explained by stupidity.
â - Hanlonâs Razor
â Never attribute to Byzantine failure which can be explained by an ill
node(s) â - Me
7 / 92
8. Seed quotes..
â âNetwork is reliableâ - a fallacy of the distributed system. â - Peter
Deutsch
â A distributed system is one in which the failure of a computer you didnât
even know existed can render your own computer unusable. â - Leslie Lamport
â Never attribute to malice that which is adequately explained by stupidity.
â - Hanlonâs Razor
â Never attribute to Byzantine failure which can be explained by an ill
node(s) â - Me
8 / 92
9. The fallacies
ⶠThe network is reliable
ⶠLatency is zero
ⶠBandwidth is infinite
ⶠThe network is secure
9 / 92
10. The fallacies
ⶠTopology doesnât change
ⶠThere is one administrator
ⶠTransport cost is zero
ⶠThe network is homogeneous
10 / 92
59. Docker
ⶠWhy not virtualize
⊠Occam
⊠Namespaces
ⶠSimplicity
⊠Network
⊠One application per node
59 / 92
60. Docker
ⶠPortability
- See same qualitative behavior that I do.
ⶠReproducibility
- Makes it determinstic
ⶠConfigurable and CI
- Byproducts
60 / 92
61. Docker
ⶠQEMU and Docker
ⶠScalability
⊠Performance
⊠Feature
ⶠAbstraction of channels
61 / 92
62. Container Networking
ⶠLinking didnât help
ⶠDnsmasq to rescue!
⊠Hosts file and volumes
⊠SIGHUP and refresh
ⶠMore elegant methods
- Swarm
62 / 92
65. Method I
ⶠQdisc is detached after load
ⶠObjective
- Time to recover of full cluster
ⶠDone with a larger subset
65 / 92
66. Method II
ⶠQdisc is kept till the end
ⶠObjective
- Formation of primary component
ⶠComparatively smaller subset
66 / 92
67. Observations
ⶠPost sanity types
- Why
- Whom
ⶠWhich method is more pertinent
ⶠState transfer issues
- Beginning
- During re-emergence
67 / 92
76. Eviction
ⶠAim
ⶠQuorum required
- Keep majority of the group live or to avoid eviction.
- Why? - Not shoot each other
- Non-PC nodes also.
76 / 92
77. Eviction
ⶠAim
ⶠQuorum required
- Keep majority of the group live or to avoid eviction.
- Why? - Not shoot each other
- Non-PC nodes also.
77 / 92
78. Eviction
ⶠEVS version and upgrade
ⶠTODO!
- Ingress only
- Follow here.
ⶠCredits to Teemu Ollakka, Yan Zhang and Alex Yurchenko from codership.
78 / 92
79. Coredumps with Docker
ⶠBreakdown of abstraction
ⶠLack of isolation
ⶠWhat was done
- Volumes
- core_pattern & sysctl
- suid and ulimit
79 / 92
80. WAN Segments
ⶠHow they work
ⶠRandom allocation
ⶠJoiner starvation
ⶠSimulates data center
ⶠDonor selection
80 / 92
83. Code: todo
ⶠPoll and exit during reconciliation
- Instrument v/s number of nodes
ⶠUse actual channels
ⶠRun it bare - CoreOS etc.
ⶠOverlay with etcd/fleet/libswarm
83 / 92