构建微服务-第一章-什么是微服务_003弹性和可伸缩性

系统弹性
在系统弹性工程中一个很重要的概念是隔板。如果系统的一个模块失败了,但是这个失败没有串联地影响到其他模块,那么就可以隔离问题,让其他模块继续工作。很显然微服务的边界就成了系统的隔板。在一个单一服务系统中,如果服务失败,那么整个系统停止工作,当然我们可以把它部署到多台机器上来减少失败的概率,但是如果使用微服务架构,我们的系统就可以处理整体服务的失败,并且将整体服务分解。
我们也必须非常小心。为了保证微服务系统能够正确地利用微服务的弹性,我们需要懂得分布式系统的风险来源,网络可能会断开,服务器可能会停机,我们需要懂得如何处理这些风险,还有这些风险对用户有什么影响。

系统伸缩性
在一个单一服务的系统里,我们处理系统伸缩性时要处理系统所有的功能模块。即使只有系统的一小部分有性能问题,我们也需要处理所有的部分。如果服务被切分成小的服务,我们只需要伸缩那些需要处理的服务功能,将其他服务放在功能相对较弱的硬件设施上。如下图所示:




Gilt是一个流行商品在线零售商,因为上面的原因,他们使用了微服务架构。从2007年开始,他们构建了一个单一的Rails系统,到了2009年系统已经不能够处理需要面对的负载。他们将系统拆分成多个服务,Gilt已经能够处理高峰期的负载,今天他们又450个微服务,每个服务运行在几台不同的机器上。使用类似Amazon服务的按需分配的系统,我们可以按需分配我们服务伸缩需要的资源。这会让我们更好地控制成本。其他的架构节本上很难做到这样立竿见影的成本节约。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值