Uber 架构升级

原文地址:http://eng.uber.com/mezzanine-migration/

整个文章结构比较清晰

1.目标:为什么要做这件事情

2.关键点:解决这件事情的关键点

3.怎么做:解决方案和设置milestone

4.效果

文章内容概括:

对于快速增长的业务需求,需要对读写trip的架构进行升级,针对原来架构的升级需要考虑以下内容:

1.健壮性(数据不丢,有备份,现有数据的复制,出错容易定位,专业的运维)

2.存储、读写的横向可扩展

3.写的可靠性和短期批量读的可靠性

4.支持第二索引,可以用city,user等各种角度来读数据

5.线上无宕机时刻

最终采取的决策是,使用无schema的存储数据结构,使用uuid做为可横向扩展的索引以及使用mysql来做存储

1.shard,mysql的行级存储,通过扩展mysql进行数据的shard

2.append-only模式

3.有缓冲的写,当写的速度慢或者写存储挂掉时,可以通过写在可缓冲的地方,后续再通过回放的方式来完成数据正确的存储

4.mysql天然支持二级索引

剩下的就是一些细节问题,通过双写等常用的方式来保证线上系统的正确性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容