勿忘初心 厚德载物

跨境电商的基础架构及区域化部署实践

Posted on By JettyLee

阿里 徐晓斌、桑植讲解

基础架构

基础技术栈

语言:JAVA8
版本控制:Git&Gitlab
构建:Apache Maven 3
基础框架:Spring Boot
Web框架:Spring MVC
HTTP服务器:Tengine(nginx)
通讯协议: HSF
消息框架: MetaQ
统一的发布系统: Aone

区域内架构

WEB层 webApp
服务层 webService
WEB层和服务层由 MQ 和 HSF 分发
缓存层 Tair
数据层 DB、HBase、NoSql

跨区域通讯

通过路由

区域的配置

利用springboot 为每个服务保存单独配置

采用微服务

接口、数据传输对象处理

1.创建单独版本管理
2.由于维护成本高,发布前需要review

区域化部署实践

区域化架构

1.各级路由
2.采用tddl读写保护
3.采用 Tair对路由表数据缓存
4.采用自研DRC数据同步

用户路由表设计

由区域和状态构成,两个用户一个字节(例如:101 region 0 state)
查找用户过程:
If UserId = x, index=x/(1024100002)找到行
byte=Slot[index][x%(1024100002)] 找到字节
RegionInfo=byte [x%2]找到用户

数据一致性保证

日常访问一致性

多地路由表数据一致性

主要通过Tair去维护每个路由表的版本号,来控制一致性

用户路由变更一致性

让用户停写,然后秒级切换

异地容灾一致性

1.原机房的禁写,流量切换灾备机房
2.原机房恢复,DRC数据同步
3.通过时间戳判断DRC同步时间节点和灾害时间节点,来确定是否可以取消禁写
4.切换时也要考虑就近原则(跨境地理问题,国家数据限制同样要考虑)


PPT如下:

ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt