(点个赞,算法会给你推荐更多类似干货 ~)
一、口诀:
微服务拆分有妙招,先按业务分大块;
热点复杂单独拆,各管各事不依赖;
团队数据各独立,出问题时影响小。
热点复杂单独拆,各管各事不依赖;
团队数据各独立,出问题时影响小。
二、答案:
先从上到下做业务流程梳理,将流程归类聚合;然后从不同的领域聚合中找出交互所需主要实体。
根据流程中主要实体之间的数据依赖程度决定是否拆分(从下到上看);把不同的实体和动作拆分成多个模块后, 再根据业务流程归类,划分出最终的模块(最终汇总)。
总结就是:从上往下看流程,从下往上看模块,最后综合考虑流程和模块的产出结果。
(1)先拆业务块:
按核心业务(如订单、用户、商品)分成大块,每个块负责一块独立业务(比如 “订单块” 只管下单、支付,不管商品信息)。
(2)再拆热点和复杂块:
如果某块流量特别大(比如秒杀活动)或逻辑太复杂(比如支付要对接微信、支付宝),就单独拆成更小的服务,方便单独优化。
(3)明确分工:
每个小服务有自己的数据库和团队,不用依赖别人,出问题也只影响自己,不会拖累整个系统。
(点个赞,算法会给你推荐更多类似干货 ~)