3、微服务:优势、挑战与开发周期

微服务:优势、挑战与开发周期

1. 为何选择微服务

许多成功的企业基于单体软件构建业务,如Basecamp、Stack Overflow和Etsy。单体应用有大量正统且成熟的软件开发实践和知识,那为何还要选择微服务呢?

1.1 技术异构性促使选择微服务

在一些公司,技术异构性使微服务成为明显的选择。例如Onfido,在引入由机器学习驱动的产品时开始构建微服务,因为该产品与原有的Ruby技术栈不太匹配。即使不完全采用微服务方法,应用微服务原则也能提供更多技术选择来解决业务问题,但情况并非总是如此明确。

1.2 复杂系统增长导致开发摩擦增加

软件系统本质上是复杂的,没有方法或架构能消除系统核心的本质复杂性。软件开发的目标是可持续地最小化产生积极业务影响的前置时间。在复杂软件系统中,困难的是在变化面前持续交付价值,即随着系统变大变复杂,仍能敏捷、快速且安全地交付。因此,一个好的复杂系统应在其生命周期内最小化两个因素:摩擦和风险。

随着单体应用的增长,以下因素可能导致摩擦:
- 变更周期相互耦合,导致更高的协调障碍和回归风险。
- 松散的模块和上下文边界会在缺乏纪律的团队中引发混乱,导致组件之间出现紧密或意外的耦合。
- 规模本身可能带来痛苦,持续集成任务和发布(甚至本地应用启动)都会变慢。

1.3 微服务减少摩擦和风险

微服务通过以下三种方式帮助减少摩擦和风险:
- 构建时隔离和最小化依赖 :无论是团队之间还是对现有代码的依赖,这都能让开发人员更快地推进工作,开发可以并行进行,减少对单体应用中过去决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值