微服务之服务拆分

本文探讨了微服务中服务拆分的重要性,介绍了遵循单一职责原则、实现松耦合和高内聚的方法。通过引用领域驱动设计(DDD),提出按业务领域和层次进行拆分的策略,强调避免过早拆分导致的问题。总结了微服务划分的注意事项,以助于构建更加稳定和可维护的系统。
摘要由CSDN通过智能技术生成

背景

随着新功能的增加,代码库越来越大,当我们部署新功能时,需要将整个系统完整同步到生产环境,如果某同事的问题代码被发布到生产环境,可能会导致整个系统瘫痪,很难快速定位问题,这也是单块系统最大的弊端。

为了解决该问题,人们便想方设法的模块化、清晰化自己的项目,将整个系统拆分为若干个小而单一的功能,以服务的方式提供给上层业务部门,每类服务有专人负责,通过单独部署某个服务来避免发布无关的代码导致的系统瘫痪。这就是微服务。

那如何拆分服务呢?

如何拆分服务

我们先从几个原则说起。

单一职责原则

了解过面向对象的人应该都听说过“单一职责原则”,即每一个类都拥有一个职责。比如一个搬砖类,它既可以盖房子,也可以用来拍人,这时搬砖就拥有了两个职责,所以我们应该把类拆分为两个。微服务也是一个道理,我们应该做到一个服务是用来做一件事情的。我们怎么样才能做到该原则呢?

松耦合

在工作中,当我们修改了一个服务就不需要再去修改其他的服务,那么我们就做到了松耦合。

一个松耦合的服务应该尽可能少地知道与之协作的那些服务的信息。这也意味着,应该限制两个服务之间不同调用形式的数量,因为除了潜在的性能问题之外,过度的通信可能会导致紧耦合。

高内聚

当我们想要修改某个行为的时候,最理想的方式就是修改某一个服务然后尽快上线,如果需要部署多个服务的时候会增大风险性。所以要遵守高内聚与松耦合才能尽可能的实现单一职责原则。

我们现在了解了高内聚、松耦合,那应该把什么聚在一起,什么隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值