大数跨境
0
0

微服务落地实践之填坑之法

微服务落地实践之填坑之法 二进制跳动
2023-09-17
2
导读:微服务落地实践之填坑之法


  • 数据库层



1. 简单DAO层封装,不包含公共业务封装业务逻辑分散,复制、粘贴,  —个小需求n次初改和测;

2.缓存丢在调用方,业务方需要关注存储(用户侧、后台侧)

怎么办?

58速运微服务落地实践-数据拆分

1.数据双写 2.平滑迁移,不影响线上业务 3.数据一致性

58速运微服务落地实践 - 数据拆分

数据双写(从订单库中迁移出用户回访记录为例)

58速运微服务落地实践 - 数据拆分

并发情况,双写中的delete操作

正常:如果记录未迁移到新库中,只删除旧库记录即可;否则新、旧库都执行删除操作;

58速运微服务落地实践 - 数据拆分

并发情况,双写中的delete操作

潜在问题:回访服务新库中,会多出—些记录(该删除,却没有删除掉)

58速运实践:每隔n分钟,校验n分钟前进行迁移的数据,是否在新库中有且旧库中没有存在该情况,则删除新库中的记录;

58速运微服务落地实践 - 数据拆分

并发情况,双写中的insert操作

58速运微服务落地实践 - 伪服务改造

1.统—业务下沉为服务2.统——个订单服务

58速运微服务落地实践 - 服务改造

串行同步数据,性能问题

58速运微服务落地实践 - 服务改造

异步化&ES

总结

  • 存在问题

耦合合度高、伪服务

58速运微服务落地实践

  •  系统垂直拆分:

1.业务梳理;  2.沟通推进;

  • 数据平滑迁移:

1.双写校验;

  • 服务改造:

1.统—业务下沉为服务, —个地方改动即可;

2.不要为小概率事件,影响整体;

3.数据最终—致性实践;

【声明】内容源于网络
0
0
二进制跳动
15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
内容 739
粉丝 0
二进制跳动 15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
总阅读78
粉丝0
内容739