如何把单体式应用拆解成微服务?【下】

本文详细介绍了如何将单体应用拆解为微服务,涉及数据库表外键关系、共享静态数据、共享基础数据、共享数据库表格和共享数据库的处理方法。此外,还提出了旧模块微服务改造的优先级原则,以及微服务改造结束的判断标准,并讨论了微服务架构中分布式事务和报表生成的新挑战及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

温馨提示:同步在其他平台发布的热评好文:如何设计出优美的Web API?,现阅读量超过了2400,小伙伴们千万不要错过哦!CSDN 地址:如何设计出优美的Web API?

紧接昨天的上篇:如何把单体式应用拆解成微服务?【上】,今天我们一起来看看各种具体拆解场景的解决方案:

场景1:数据库表外键引用关系

如果单体式应用中两个功能模块存在数据引用关系,那我们在拆解微服务时如何消除这种外键引用关系呢?首先,停⽌外键引⽤;然后,改成通过RESTful HTTP API⽅式获取原先外键关联的信息。如下图,改造前Payment数据库表中的记录通过外键引用Order,代码层面通常会借助对象关系映射(ORM)框架建立数据对象的关联,改造后代码层面就不能通过ORM框架做关联了。在Payment数据库表的记录中会保存Order的主键值,除此之外还会保存Order的关键属性信息,这样可以避免频繁的跨进程调用,从而可以提高系统的整体效率表现。

下图是改造前的情况:

改造前

下图是改造后的情况:

改造后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值