为什么有些公司不愿意微服务化,因为“太南了”


作者 l 会点代码的大叔(CodeDaShu)

微服务是这几年比较火的概念了,很多 IT 公司也都在做微服务转型,那么微服务化适合所有的公司么?微服务架构可以解决一切问题么?我觉得并不是这样的,企业是否需要做微服务转型还是要从实际情况出发。

01

微服务倒逼组织架构

说到微服务,很多人会认为这是个技术架构,但我认为微服务不只是技术架构这么简单,它甚至会涉及到组织架构。

通常 IT 公司的岗位都会分成产品、开发、测试、运维,有些公司甚至会分成不同的部门,一个需求的开发到上线,会从前到后经过四个部门的流转,而进行微服务的转型,目的是为了加速业务的响应,快速开发,快速上线,缩短迭代周期,快速试错并纠正。

如果企业想做服务化转型,那么组织架构也需要做相应的调整,否则还像以往一样,部门和部门之间、岗位和岗位之间需要很大的沟通成本,那么微服务是“快不起来”的;比较理想的是把不同的岗位揉在一起,一个团队中包含产品、开发、测试、运维四种角色,团队成员彼此协作负责一个或几个微服务的迭代和运维。

02

设计更为复杂

判断是不是适合微服务化,也要看自己的业务场景,如果服务做拆分,只是为了拆分而拆分,是没有意义的,通常要考虑:

拆分之后的服务,能否被复用?

如果一个功能在 A 系统,只被 A 系统自己使用,那么没有拆出来的价值,如果 B/C/D 系统都需要使用这个功能,那么可以拆分出来复用;微服务的优势之一,增加复用,减少重复开发,缩短开发时间,进而降低成本;

访问量大还是小?如果访问量不大且平稳,未来很长时间访问量也不会有很大的增长,那就没必要微服务化,如果有高并发、流量不可预计,那么可以做微服务化。

微服务在设计上也存在着一定的难度,拆成几个微服务?新需求来了,是新建一个微服务,还是在老服务上改造?这些设计层面的考虑,也是非常复杂的。

03

技术上的难度

虽然我们的服务容易复用了,一个新需求的开发可能做一个页面,调几个接口就完成了,但是微服务的开发和维护,也给 IT 带来了很大的挑战。

  • 服务被拆成了多个微服务,每个微服务又会部署很多套,这时候才使用人肉运维就不合适了;

  • 以前 A 系统的一个接口,变成 A->B->C->D 这样的调用链路了,如果一个环节出现问题,可能导致整个链路上的系统都不可用,而且问题的定位也会变得更难;

  • 单个系统做数据的增改删很简单,通过事务就很容易控制,但微服务化之后,就变成了多个系统的分布式事务,这个难度很大,大多数系统只能做到数据的最终一致;

  • 因为一个功能可能会涉及多个系统,那么测试也变得复杂了。

总之,很多公司不原因做微服务转型,第一就是微服务化的难度比较大,企业没有能力做;第二就是,企业可能真正地思考和评估过,现有架构足以满足业务,没必要做微服务。

特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

长按订阅更多精彩▼

如有收获,点个在看,诚挚感谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微服务架构是一种将单一应用拆分为多个小型、独立部署的服务的软件开发模式。尽管微服务架构在某些情况下非常适合,但也有一些原因解释为什么有时候不使用微服务。 首先,微服务的复杂性可能会导致迁移成本高。将一个单一应用拆分为多个服务需要对整个系统进行彻底重构,这可能需要大量时间和资源。特别是在大型、复杂的系统中,推行微服务架构可能会面临更大的挑战和困难。 其次,微服务需要更多的基础设施和管理。由于每个微服务都是独立部署和运行的,因此需要更多的服务器、网络和系统管理。这导致了更高的部署和维护成本,特别是对于规模较小的企业来说。 另外,微服务还可能导致服务间的通信负担增加。由于每个微服务都是独立的,并且可能使用不同的编程语言和技术栈,因此需要通过API调用来实现服务间的通信。这增加了网络延迟和失败的风险,并且可能导致系统的性能问题。 另一个原因是,微服务可能会增加开发和测试的复杂性。由于微服务的分布式特性,开发人员需要处理服务间的通信、数据一致性和错误处理等问题。此外,由于每个服务都是独立的,需要进行单独的测试和调试,这增加了测试的复杂性和工作量。 最后,对于某些应用情景来说,微服务可能并不是最佳选择。如小型应用、团队较小或不需要高度扩展性的项目,使用单一应用可能更为简单和高效。 综上所述,微服务架构适用于特定的应用场景,但在一些情况下不被采用的原因可能包括高的迁移成本、复杂的基础设施和管理、增加的通信负担、增加的开发和测试复杂性,以及不适合的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值