GerritHub evolved from a simple master-slave setup into a truly multi-master and multi-site service. See how the solution has been implemented and the next steps for making the service even better and more distributed and scalable.
12. 11Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 11
GerritHub multi-master/site limitations
1.Lag in sites replication
2.Indexes aligned every 30 mins
3.Latency of disaster recovery (DNS)
13. 12Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 12
Next steps: repositories sharding
Gerrit master
(CA)
Replication
plugin
R/W Traffic
Gerrit master
(CA)
Replication
plugin
HAproxy HAproxyHAplugin
HAplugin
HAproxy with repo-specific rules:
• URL-based node selection
Share-nothing between masters:
• HA plugin to be tolerant do delays
• Repo-specific replication configs
Alignment checks and metrics
14. 13Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 13
Next steps: auto-reindex across sites
Gerrit master
(CA)
Replication
plugin
Gerrit master
(CA)
Replication
plugin
Multi-site
plugin
Multi-site
plugin
Reliable broker
New multi-site plugin
• Auto-reindex
• Reliable across failures
• Fully async
15. 14Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 14
Next steps: location-aware DNS
Gerrit master
(CA)
Rest of the World
Traffic (R/W)
Gerrit master
(CA)
HAproxy HAproxy
Gerrit master
(GER)
Gerrit master
(GER)
HAproxy HAproxy
EU Traffic (R/W)
Multi-site pluginMulti-site pluginMulti-site pluginMulti-site plugin
16. 15Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 15
Poll: have you implemented multi-master/HA?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
17. 16Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 16
Wants to know more?
GerritForge.com/contact