《云计算与虚拟化技术丛书 Service Mesh实战》—1.4Service Mesh的功能

举报
华章计算机 发表于 2019/06/05 14:44:44 2019/06/05
【摘要】 本书摘自《云计算与虚拟化技术丛书 Service Mesh实战》一文中的第1章,第1.4节,作者是杨章显。

1.4 Service Mesh的功能

       Service Mesh作为透明代理,它可以运行在任何基础设施环境,而且跟应用非常靠近,那么,Service Mesh能做什么呢?

       负载均衡:运行环境中微服务实例通常处于动态变化状态,而且经常可能出现个别实例不能正常提供服务、处理能力减弱、卡顿等现象。但由于所有请求对Service Mesh来说是可见的,因此可以通过提供高级负载均衡算法来实现更加智能、高效的流量分发,降低延时,提高可靠性。

       服务发现:以微服务模式运行的应用变更非常频繁,应用实例的频繁增加或减少带来的问题就是如何精确地发现新增实例以及避免将请求发送给已不存在的实例变得更加复杂。Service Mesh可以提供简单、统一、平台无关的多种服务发现机制,如基于DNS、K/V键值对存储的服务发现机制。

       熔断:动态的环境中服务实例中断或者不健康导致服务中断可能会经常发生,这就要求应用或其他工具具有快速监测并从负载均衡池中移除不提供服务实例的能力,这种能力也称熔断,以此使得应用无需消耗更多不必要的资源不断地尝试,而是快速失败或者降级,甚至这样可避免一些潜在的关联性错误。而Service Mesh可以很容易实现基于请求和连接级别的熔断机制。

       动态路由:随着服务提供商以提供高稳定性、高可用性以及高SLA服务为主要目标,为了实现所述目标,出现各种应用部署策略尽可能从技术手段达到无服务中断部署,以此避免变更导致服务的中断和稳定性降低,例如 Blue/Green部署和Canary部署,但是实现这些高级部署策略通常非常困难。关于应用部署策略,可参考Etienne Tremel(https://thenewstack.io/deployment-strategies/)的文章,他对各种部署策略做了详细的比较。而如果运维人员可以轻松地将应用流量从staging环境切换到产线环境,一个版本切换到另外一个版本,或者从一个数据中心到另外一个数据中心进行动态切换,甚至可以通过一个中心控制层控制多少比例的流量被切换。那么Service Mesh提供的动态路由机制和特定的部署策略如Blue/Green部署结合起来,实现上述目标将更加容易。

       安全通信:无论何时,安全在整个公司、业务系统中都有着举足轻重的位置,也是非常难以实现和控制的部分。而微服务环境中,不同的服务实例间通信变得更加复杂,那么如何保证这些通信是在安全、有授权的情况下进行就非常重要。通过将安全机制如TLS加解密和授权实现在Service Mesh上,不仅可以避免在不同应用上的重复实现,而且很容易在整个基础设施层更新安全机制,甚至无需对应用做任何操作。

       多语言支持:由于Service Mesh作为独立运行的透明代理,很容易支持多语言。

       多协议支持:同多语言支持一样,实现多协议支持也非常容易。

       指标和分布式追踪:Service Mesh对整个基础设施层的可见性使得它不仅可以暴露单个服务的运行指标,而且可以暴露整个集群的运行指标。

       重试和最后期限:Service Mesh的重试功能避免将其嵌入到业务代码,同时最后期限使得应用允许一个请求的最长生命周期,而不是无休止的重试。

       对这些功能,概括起来,即Service Mesh使得微服务具有下列性能。

       可见性(visiblity):运行时指标、分布式跟踪。

       可管理性(manageablity):服务发现、负载均衡、运行时动态路由。

       健壮性(resilience):超时重试、请求最后期限、熔断机制。

       安全性(security):服务间访问控制、TLS加密通信。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。