开发者社区> 知与谁同> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Istio:用于微服务的服务啮合层

简介:
+关注继续查看
 Google、IBM和Lyft开源了微服务管理、保护和监控框架Istio。Istio为希腊语,意思是“启航”。

微服务简化了开发,它将创建复杂系统的任务切分为数十乃至上百个小服务,这些小服务易于被小型的软件工程师团队所理解和修改。但是微服务并未真正地消除复杂性,而是将复杂性迁移到对大量服务的连接、管理和监控上。其中涉及对上百个服务的管理、处理部署问题、版本控制、安全、故障转移、策略执行、遥测和监控等,实现它们并非易事。Istio力图去解决这些问题。

按Google的提法,Istio是“架构的一层,处于服务和网络间”,它“通常连同服务部署一起,统称为服务啮合层(Service Mesh)”。在Istio网站上,详细解释了“服务啮合层”这一概念:

如果我们可以在架构中的服务和网络间透明地注入一层,那么该层将赋予操作人员对所需功能的控制,同时将开发人员从编码实现分布式系统问题中解放出来。通常将该统一的架构层与服务部署一起,统称为一个“服务啮合层”。由于微服务有助于分离各个特性团队(Feature Team),因此服务啮合层有助于将操作人员从应用特性开发和发布过程中分离出来。通过系统地注入代理到微服务间的网络路径中,Istio将迥异的微服务转变成一个集成的服务啮合层。

Istio可在任何云上或私有的环境中运行。虽然首个测试版(即0.1版)是运行于Kubernetes上的,但并非必须如此。Istio的主要特性包括:

HTTP、gRPC和TCP网络流量的自动负载均衡; 提供了丰富的路由规则,实现细粒度的网络流量行为控制; 流量加密、服务间认证,以及强身份声明; 全范围(Fleet-wide)策略执行; 深度遥测和报告。

Istio的底层使用了Envoy。Envoy是Lyft于去年九月份开源的一种服务代理和通信总线,已用于生产系统中,“管理了上万台虚拟机间的一百多个服务,每秒可处理近两百万次请求”。在近期的GlueCon 2017大会上,来自IBM的Shriram Rajagopalan和来自Google的Louis Ryan介绍了Istio的技术细节(PDF)。下图给出了系统的高层图解:

20170531113444446.png

Envoy实现了过滤和路由、服务发现、健康检查,提供了具有弹性的负载均衡。它在安全上支持TLS,在通信方面支持gRPC,支持MongoDB和DynamoDB分析器对数据库访问统计信息的采集,以及更多功能。Envoy用C++ 11编写实现,并测试了使用C++、Go、Java、PHP和Python编写的微服务,也支持使用其它的语言。Istio还实现了应用和网络的监控,可在Prometheus和Grafana中查看。Istio还可以集成Zipkin,对延迟问题进行诊断。

Istio支持团队计划将其与Google Cloud Endpoints和Apigee集成。此外,Red Hat、Pivotal、Weaveworks、Tigera和Datawire也有兴趣将自身的产品与Istio集成。在Istio的路线图中,给出了未来将提供功能的更多细节。Istio 1.0版计划于今年下半年发布。



本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微服务治理 Istio 1.6部署和应用(下)
微服务治理 Istio 1.6部署和应用
47 0
【Istio实际操作篇】Istio入门,10分钟快速安装
上一篇讲了什么是Istio的理论篇,这次我们就来实际操作。 想看上一篇理论篇的看这里(看完绝对有所收获): [\[Istio是什么?\] 还不知道你就out了,一文40分钟快速理解_小叶的技术Logs的博客-CSDN博客] https://blog.csdn.net/qq_48450494/article/details/124347864
119 0
Xstream:重命名、转换器、持久化
Xstream:重命名、转换器、持久化
53 0
如何使用 Istio 进行多集群部署管理:多控制平面
本文摘自于阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实战》一书,讲述了如何使用 Istio 进行多集群部署管理来阐述服务网格对多云环境、多集群即混合部署的支持能力。
434 0
如何使用 Istio 进行多集群部署管理(1): 单控制平面 VPN 连接拓扑
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,在展望服务网格未来的同时,讲述了如何使用 Istio 进行多集群部署管理,来阐述服务网格对多云环境、多集群即混合部署的支持能力。
1235 0
如何使用 Istio 进行多集群部署管理(2): 单控制平面 Gateway 连接拓扑
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,讲述了如何使用 Istio 进行多集群部署管理来阐述服务网格对多云环境、多集群即混合部署的支持能力。
1509 0
如何使用 Istio 进行多集群部署管理:单控制平面 VPN 连接拓扑
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,在展望服务网格未来的同时,讲述了如何使用 Istio 进行多集群部署管理,来阐述服务网格对多云环境、多集群即混合部署的支持能力。
564 0
Istio 在阿里云容器服务的部署及流量治理实践
在阿里云容器服务 Kubernetes 集群上部署 Istio 服务网格;实践灰度发布、故障注入、熔断等 Istio 流量管理特性
26718 0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?
近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历是既做过 IT 领域的微服务,也做过 CT(通讯领域)的微服务,微服务架构在这两个领域的具体形态和要求是不太一样的,但其中一些思想是互通且是很有借鉴意义的。
1710 0
+关注
10071
文章
2994
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载