简单解释Istio是什么

18-10-12 banq
         

Envoy是Istio控制的主要部分,Envoy核心功能可以被认为是一个第7层路由表。或者,可以认为是没有DNS的DNS,类似DNS,但是不是真正DNS。

假如你在主机上运行一个APP,希望它连接到其他API。如果安装了Istion,那么在你的每个主机上都会有运行的Envoy代理,因此你的App不需要任何路由配置文件,不必指定在何处查找你想要API的详细信息,说白了,对方主机的负载平衡后地址你都不需要配置了,你的应用App只是连接到本地localhost并说“帮我连我想要的API”,envoy就会帮助你自动连接。

假设进行了API调用时,对方API已关闭,envoy会发现它无法连接,所以它会重试几次,直到最终失败。这些都是你的App里面不必再做的工作,你可以确定写一些代码:当调用失败时,服务就会被取消,然后回退一些状态或事务。

幸运的是,有些运营平台会进行切换,在故障发生时转移数据中心,它向运营平台注册,并通过Istio告诉所有envoy代理能在哪里里找到新的API,下次他们尝试调用时,就会调用成功。

意义是它代表一个庞大的服务生态系统,自动实现持续的部署,故障,维护等。

在进行部署或测试新方案时,可以使用由Istio服务网格管理的金丝雀测试,加权路由和蓝/绿部署来智能地路由流量。

[该贴被banq于2018-10-14 09:27修改过]