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)。下图给出了系统的高层图解:

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(转载)

时间: 2024-10-02 10:27:54

Istio:用于微服务的服务啮合层的相关文章

日志服务+函数服务实战(1): 访问日志地域、运营商实时分析

概述 ETL(Extract-Transform-Load)用来描述将数据从来源端经过抽取(Extract).转换(Transform).加载(Load)至目的端的过程. 传统ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去. 在今天,随着业务需求的日益增加,不同系统的相互大批量数据交互也已成为常态.数据在不同系统中流动起来,有助于充分发掘日志大数据的价值. 在云上,AWS Glue是一个功能完备的ETL产品,

《微软云计算Windows Azure开发与部署权威指南》——6.6 AppFabric服务总线服务Remoting的应用程序开发

6.6 AppFabric服务总线服务Remoting的应用程序开发 本节将带领大家通过微软发布的Windows Azure Training Kit里的示例学习AppFabric服务总线的服务Remoting的应用程序开发.使用的训练包与6.3节一样,是WATK June2012.exe.示例项目目录为WATK\Labs\ServiceBusServiceRemoting,进行该项目开发所需要的软件环境为(针对Windows 7操作系统). ① IIS 7(开通ASP.NET.WCF HTTP

《WCF技术内幕》翻译11:第1部分_第2章_面向服务:面向服务的4个原则

面向服务的4个原则 目前为止,我们已经了解过了面向服务的概念,看过了面向服务的消息结构 ,检查了消息地址的需求,并且讨论了消息地址的工业标准.如果你理解SO消息 里标准地址结构的动机,那么明白面向服务的原则就不会困难.每个面向服务的 设计都遵循以下4个院子(经常被称为4原则). 边界清晰 在面向服务里,服务可以与每个其它的服务通过消息交互.换句话说,服务 可以穿越边界发送消息给其它服务.服务可以发送和接收消息,并且能被发送和 接受的消息形状定义了服务的边界.这些边界被良好地定义,清晰地表示,并且

Oracle 11g必须开启的服务及服务详细介绍

  成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢? 按照win7 64位环境下Oracle 11g R2安装详解中的方法成功安装Oracle 11g后,共有7个服务,分别为Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL, OracleMTSRecoveryS

wcf-部署在IIS上WCF服务执行服务端程序问题

问题描述 部署在IIS上WCF服务执行服务端程序问题 WCF部署在IIS8.0上 其中一个服务是远程执行服务器上命令,服务器端的代码如下: public string RunCommand(String cmd) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c " + cmd; p.StartInfo.UseShellExecute

android-在后台开了一个服务,服务里面有一个线程用来访问服务器获取信息。

问题描述 在后台开了一个服务,服务里面有一个线程用来访问服务器获取信息. 在后台开了一个服务,服务里面有一个线程用来访问服务器获取信息.但是有一个问题我搞不明白,就是访问服务器需要用户名和密码,我使用SharedPreferences保存和获取用户密码,但是当我在其他地方改变SharedPreferences里的值的时候,却发现在服务里的SharedPreferences得到的值却还是之前的没有发生改变,可以和我讲解一下为什么吗? 解决方案 两个操作之前可能有先后问题.你能保证service在你

窝窝团回应规模撤站:取消分站服务团队 服务照常

10月13日消息,针对http://www.aliyun.com/zixun/aggregation/31646.html">媒体报道的窝窝团全国35个分站被撤,其团购券无法使用一事,窝窝网公关总监杨国强通过新浪财经回应称,目前只是暂时取消部分分站的当地服务团队,相关业务已转移至其所属大区或其他城市,目前网站服务正常. 据早前消息,9月下旬以来,知名团购网站窝窝网展开大规模撤站裁员,涉及济南.青岛.成都.南京.哈尔滨.大连.深圳.天津.武汉.重庆等10个大区,共35个地方分站被整体撤掉,共

天润融通签约微特派 云服务助力电商物流

今天,中国领先的托管型呼叫中心及云服务提供商天润融通签约微特派.今后,微特派将通过天润融通的呼叫中心服务,提升公司整体服务水平和管理水平,以便为电子商务企业提供更好的物流服务. 据悉,天润融通是中国最早提供托管型呼叫中心和云服务的企业,目前已经拥有几千家客户.电子商务行业是天润融通的重点领域之一,目前,已经拥有慧聪网.饭统网.大众点评网等众多知名客户.此次签约微特派,是其云服务对电子商务领域的进一步渗透. 业内人士分析,微特派是一家快速成长的电子商务物流服务商,天润融通的呼叫中心服务,不仅无需微

Java Web服务: Metro服务下的WS-Security

正如 "Metro 简介" 所述,JAXB 2.x 数据绑定的参考实现和 JAX-WS 2.x 网络服务规范是 Metro 网络服务框架的核心.但是 JAXB 与 JAX-WS 本身只提供基本的网络服务支持,JAX-WS 并不包括 WS-* 技术,不能升级 SOAP 以便在企业级应用环境中工作,所以需要一些其他的软件组件来支持 WS-* 技术. 在 Metro 中,添加的主要组件是 Web 服务互操作性技术(Web Services Interoperability Technolog