微服务治理 Istio 1.6部署和应用
Posted 运维开发故事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务治理 Istio 1.6部署和应用相关的知识,希望对你有一定的参考价值。
Service Mesh
Service Mesh 的中文译为“服务网格”,是一个用于处理服务和服务之间通信的基础设施层,它负责为构建复杂的云原生应用传递可靠的网络请求,并为服务通信实现了微服务所需的基本组件功能,例如服务发现、负载均衡、监控、流量管理、访问控制等。在实践中,服务网格通常实现为一组和应用程序部署在一起的轻量级的网络代理,但对应用程序来说是透明的。Service Mesh 部署网络结构图 Service Mesh有四大特点:
-
治理能力独立(Sidecar) -
应用程序无感知 -
服务通信的基础设施层 -
解耦应用程序的重试/超时、监控、追踪和服务发现
如此一来,Service Mesh将业务模块和服务治理分开。从上图中我们看到,控制面和数据面分离,应用在部署的时候,每个应用附带一个Side Car,这个Side Car是拦截每一个应用对外请求的。同时控制面的服务治理策略下到Side Car中具体的执行,这样的话,即使业务模块升级和服务治理的升级也能互不影响的,还能动态调整服务治理的规则和策略 从Service Mesh的结构和特点,我们可以总结出其对于服务治理的理念:
1、微服务治理与业务逻辑解耦:把大部分SDK能力从应用中剥离出来,并拆解为独立进程,以 sidecar 的模式进行部署。
2、异构系统的统一治理:方便多语言的实施,解锁升级带来的困难。
3、价值:(1)可观察性:服务网格捕获诸如来源、目的地、协议、URL、状态码、延迟、持续时间等线路数据;(2)流量控制:为服务提供智能路由、超时重试、熔断、故障注入、流量镜像等各种控制能力。(3)安全性高:服务的认证、服务间通讯的加密、安全相关策略的强制执行;(4)健壮性:支持故障注入,对于容灾和故障演练等健壮性检验帮助巨大。我们以Service Mesh的杰出代表Istio为例来聊聊最新的服务治理的架构,它对Service Mesh完全支持,架构清晰,拆分数据面、控制面;拥有通信、安全、控制、观察等功能,实现开放,且插件化,多种可选实现。Istio可结合K8S使用,K8S提供服务生命周期的管理,Istio在K8S之上通过服务治理的整体的功能的实现。 以上是关于微服务治理 Istio 1.6部署和应用的主要内容,如果未能解决你的问题,请参考以下文章 Spring Cloud vs Istio微服务治理框架对比 Istio微服务治理网格的全方面可视化监控(微服务架构展示资源监控流量监控链路监控)