想到什么写什么周报 第37期 - 2018-11-11
MySQL High Availability at GitHub
https://githubengineering.com/mysql-high-availability-at-github/
GitHub 将 MySQL 的高可用方案从 VIP + DNS 的方案,迁移到了使用 anycast + GLB + Consul + orchestrator raft 的方案。改进了数据库 down 的切换时间,基本维持在 10 到 13 秒之间。
没想看到这篇文章过了没几天,GitHub 就遇到了一次存储故障。
Ubuntu 18.10 released
https://www.omgubuntu.co.uk/2018/10/ubuntu-18-10-released-review
Cost of a Join
https://www.brianlikespostgres.com/cost-of-a-join.html
作者通过测试说明了,做 inner join 的成本其实很低,尤其是加上外键的索引之后。文章中使用的画图服务 plot.ly 不错。
Why We Decided to Rewrite Uber’s Driver App
https://eng.uber.com/rewrite-uber-carbon-app/关于迁移的部分很值得一读。
- Uber 发现一边迁移到新架构,一边做新功能的办法是不行的,最后总会留下遗留的代码,导致迁移失败。而这种迁移失败是 Uber 技术债务的主要原因。
- 迁移会导致不稳定性情况大量出现。
- 在迁移过程中进行新功能开发,总是导致新功能无法被完全实现。
GLB: GitHub’s open source load balancer
https://githubengineering.com/glb-director-open-source-load-balancer/
GitHub 在使用过程中发现现有的负载均衡方案有几个典型问题,于是决定自己开发了一套,还上了 DPDK。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。