资料内容:
一、为什么要做单元化
单机房资源瓶颈
随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服务的持续扩容。
服务异地容灾
异地容灾已经成为核心服务的标配,有的服务虽然进行了多地多机房部署,但数据还是只在中心机房,
实现真正意义上的异地多活,就需要对服务进行单元化改造。
二、高德单元化的特点
在做高德单元化项目时,我们首先要考虑的是结合高德的业务特点,看高德的单元化有什么不一样的诉
求,这样就清楚哪些经验和方案是可以直接拿来用的,哪些又是需要我们去解决的。
高德业务和传统的在线交易业务还是不太一样,高德为用户提供以导航为代表的出行服务,很多业务场
景对服务的RT要求会很高,所以在做单元化方案时,尽可能减少对整体服务RT的影响就是我们需要重
点考虑的问题,尽量做到数据离用户近一些。转换到单元化技术层面需要解决两个问题:
1.用户设备的单元接入需要尽可能的做到就近接入,用户真实地理位置接近哪个单元就接入哪个单元,
如华北用户接入到张北,华南接入到深圳。
2.用户的单元划分最好能与就近接入的单元保持一致,减少单元间的跨单元路由。如用户请求从深圳进
来,用户的单元划分最好就在深圳单元,如果划到张北单元就会造成跨单元路由。
另外一个区别就是高德很多业务是无须登录的,所以我们的单元化方案除了用户ID也要支持基于设备
ID。
三、高德单元化实践
服务的单元化架构改造需要一个至上而下的系统性设计,核心要解决请求路由、单元封闭、数据同步三
方面问题。