微服务和扩展策略

分布式系统始终可以在3D空间中进行缩放,我们需要对分布式系统进行缩放以管理负载并具有高可用性的网站。

前言

我已经多次听到以下问题

“我如何扩展微服务?” 或者 “微服务会解锁哪种类型的扩展?”

因此我决定写一篇专门的文章

分布式系统始终可以在3D空间(即X轴,Y轴和Z轴)中进行缩放,并且我们需要对分布式系统进行缩放以管理负载并确保网站的高可用性,当然 通过以最佳方式维护服务器/其他资源来有效地管理成本。

X、Y、Z轴

X轴提供了基于负载生成环境的功能,这是在负载均衡器增加实例后扩展分布式系统的旧方法。它提供了无限的缩放比例。

Y轴通过隔离业务功能(也称为功能分解)来提供扩展功能,因此,如果一个功能比其他功能具有更多的负载/使用/优先级,我们将仅对该功能进行扩展并以资源优化的方式管理成本。它提供了特定功能的无限缩放,但是总分解是有限的,但是可以随着功能的增加而增加。

Z轴通过按业务参数进行分区来提供扩展,它允许组织在专用服务器集群等中为高级客户或特殊请求或地域多样性提供服务。它还可以根据业务参数进行无限扩展。但是,总参数规则是有限的,但是可以随着向其中添加更多规则而增加。

请记住,Monoliths也是分布式的,并且在逻辑上也通过多模块项目或包结构等方式进行分解,但是在将其作为单个工件或罐子部署时,它不会解锁Y轴。由于它不提供物理功能分解,因此每个功能都没有自己的程序空间或环境(每个功能在每个容器/服务器上)。微服务从本质上释放了锁定,因此,微服务充分利用了3D空间缩放的潜力。

3轴立体示例
3轴立体示例

缩放比例

微服务遵循缩放原则,使用3种类型的缩放:

Y轴缩放:微服务的主要重点是进行功能分解,并且功能分解非常好,每个功能都由一个或多个微服务包装,因此,如果系统中的一个功能处理高负载,则只能扩展该功能,请勿触摸其他服务。

Z轴缩放比例:如果您的业务在地理位置上进行了分布,则可以帮助您按区域对数据进行分区,您可以根据区域放置数据中心,并且该数据中心将为该区域的请求提供服务,这有助于快速为您的请求提供服务,并且区域增加了,您只能扩展该区域,不仅可以根据请求参数应用逻辑并将其发送到单独的服务器,例如您有想要快速为他们提供服务的高级客户。

X轴对齐:您可以根据负载生成微服务的多个实例。您可以使用Cloud或可以通过容器生成。它不仅为您节省启动时间,还为您提供了整个环境。

总结

尝试按层次结构顺序查看微服务缩放:它以Y轴缩放开始,然后可以通过X和Z轴缩放每个微服务。 您可以通过微服务架构采用所有类型的扩展。

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 微服务和扩展策略