服务的拆分&数据的迁移

目录

服务拆分的原因

四种拆分方案对比

业务领域拆分法

变化频率拆分法

重要等级拆分法

并发度拆分法

拆分粒度控制

拆分标准

实践建议

常见的数据迁移方案

单体系统平滑迁移到微服务架构

灰度开关切换,无跨库事务,代码改动小,需短暂停服,需控制写入失败时间

进行服务拆分时,进行同步双写库表时,怎么保证数据一致性?怎么保证事务?

分布式事务

选型决策树


参考:

数据迁移调研

微服务拆分治理最佳实践

转转上门履约服务拆分库表迁移实践

分布式系统 - 分布式事务及实现方案 | Java 全栈知识体系

微服务拆分之道

面试官:你在项目的微服务拆分上,有什么心得吗?

服务拆分的原因

四种拆分方案对比

业务领域拆分法
  • 最常用方式,按业务模块划分
  • 示例:电商系统拆分为用户 / 商品 / 订单 / 物流等服务
  • 优势:职责清晰,符合业务逻辑
变化频率拆分法
  • 分离高频变更与稳定模块
  • 策略:高频模块细粒度拆分,稳定模块粗粒度
  • 目标:提升研发效率,降低维护成本
重要等级拆分法
  • 隔离核心业务与非核心业务
  • 实施要点:独立服务器、中间件、数据库
  • 适用场景:金融支付等关键链路
  • 注意:需评估 ROI,避免过度拆分
并发度拆分法
  • 分离高并发与普通业务
  • 示例:秒杀服务独立拆分
  • 优化手段:结合 MQ 削峰(如 Kafka)

拆分粒度控制

关键原则

  • 反对无限细分(Martin Fowler 观点)
  • 三个火枪手原则:建议由 3 人团队维护单个服务
  • 平衡维度:团队协作效率与系统复杂度

拆分标准

  1. 单一职责原则:每个服务专注单一业务领域
  2. 服务自治原则:独立开发 / 测试 / 部署 / 运行
  3. 可观察性原则:完善监控、日志、链路追踪
  4. 可复用性原则:提炼通用能力接口

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值