开发者社区> 知与谁同> 正文
阿里云
为了无法计算的价值
打开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实际操作篇】Istio入门,10分钟快速安装
上一篇讲了什么是Istio的理论篇,这次我们就来实际操作。 想看上一篇理论篇的看这里(看完绝对有所收获): [\[Istio是什么?\] 还不知道你就out了,一文40分钟快速理解_小叶的技术Logs的博客-CSDN博客] https://blog.csdn.net/qq_48450494/article/details/124347864
171 0
order by使用
order by使用
46 0
可扩展的微服务演示 Kubernetes Istio Kafka
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本文将演示使用 Kafka 的异步通信的高度可扩展微服务应用。 系列内容 本系列使用不同的技术创建相同的可伸缩微服务应用程序: 1.本文 2.使用 AWS Lambda Kinesis 的可扩展的无服务器微服务演示 3.使用 Knative 和 Kafka 的可扩展的无服务器微服务演示(计划中) 本文关于什么? 本文描述了使用 Kubernetes,Istio 和 Kafka 的高度可扩展的微服务演示应用程序。
1008 0
如何使用 Istio 进行多集群部署管理:单控制平面 VPN 连接拓扑
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,在展望服务网格未来的同时,讲述了如何使用 Istio 进行多集群部署管理,来阐述服务网格对多云环境、多集群即混合部署的支持能力。
575 0
Istio 在阿里云容器服务的部署及流量治理实践
在阿里云容器服务 Kubernetes 集群上部署 Istio 服务网格;实践灰度发布、故障注入、熔断等 Istio 流量管理特性
26753 0
使用Istio服务网格管理微服务
本文讲的是使用Istio服务网格管理微服务服务化是现代软件架构的核心。部署一系列模块化的小型服务而非庞大的单体应用,可以给开发者更大的灵活性。开发者对不同模块可以使用不同的技术,不同的语言采用不同的版本,以实现更高的效率和速度,这一点对大型开发尤为重要。
3189 0
[C++][IO]fstream用法
fstream用法   1. 打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filen...
1215 0
VSTO的参考资源
最近有个项目需要结合Office进行定制开发,由于以前的项目使用是VBA宏等实现的,有不少的弱点,准备使用VSTO进行升级,对这个进行了初步的调研,作为入门的参考吧。 开发入门 两个参考图书: VSTO 3.
739 0
+关注
10071
文章
2994
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载