-
数据库层
-
伪服务
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.数据最终—致性实践;
原文始发于微信公众号(二进制跳动):微服务落地实践之填坑之法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/167084.html