#### mesh服务网格 及Istio框架 ####

3 篇文章 0 订阅

转自 https://www.infoq.cn/article/YTdb55y6P1b9gVp0w0wx

仅做个人备份,浏览请看原文

基于 SDK/服务框架的微服务治理体系

从传统单体应用到微服务架构转变去落地时,基于 SDK 和服务框架这种微服务治理体系,这种传统的服务治理能力完全是由 SDK 以及服务框架来实现的。这其中,包含了很多服务治理、服务发现、服务路由、服务重试、熔断限流等微服务相关的一些能力。业务程序重度依赖 SDK 及其服务框架,并和语言、业务绑定在一起。

基于这样一个服务框架的服务治理体系,在由传统的单体到微服务的转变之后,将面临着很多种挑战:

具体来说,在语言绑定层面,传统的微服务治理体系可能要跟具体的语言绑定,因为它跟具体的业务逻辑是要绑定在一起的。

从整体来看,在多语言层面很难做到一个统一的技术,因为语言本身有各自的特性,还有各个语言的能力,都有不太一样的情况。

此外,采用传统的 SDK,在向前去演进的时候,很难去推动业务去做升级,SDK 和业务严重绑定了,这样会造成演进困难。

基于透明代理的服务治理体系

基于这些问题,我们将非业务逻辑相关的微服务治理,放在另外一个透明代理,即一个轻量级的网格代理,我们称它为 sidecar。在 sidecar 层面,我们做了很多的服务发现、负载均衡、服务路由等等。

这样服务的概念更加纯粹,不同的服务和微服务进来,只需要关心自己的业务逻辑实现就可以了,完全把这种非业务的实现逻辑,放在 sidecar 层面去做。

这种典型场景具备四个特点:它本身和业务无关,真正做到了从业务中剥离出来;由于它和业务在两个独立的进程里,所以不存在语言绑定的情况;它和业务逻辑没有强烈的耦合,独立演进,包括独立的升级和维护;透明升级的,就是我们基于 sidecar 这样一个能力的升级是不再依托于业务的升级,因为本身没有绑定,这是我们基于透明代理的服务治理体系。

Istio 架构

这种基于透明代理的服务治理体系,可以简单称它为服务网格。我们先看一下其典型代表 Istio,Istio 是一个在服务网格领域深受大家喜爱,也深受开发者追捧的框架架构。

我们来看一下它的典型架构。

Service A 和 Service B 是我们的两个业务应用,Envoy Proxy 就是一个透明代理,它本身对业务是透明的。我们可以看到,有一个控制平面 Istio control plane,控制平面可以简单理解为,它会向着我们所有的 sidecar 去推送整体的一些配置、数据等等。通过这样一个典型的 Istio 架构,来引出我们这个服务网格的概念。

从整体视角上来看,所有的 sidecar 都是在一个网状结构里进行透明的流量转发和治理,组成了一个扁平的网状,这种由透明代理组成的一个网状结构,我们可以称它为服务网格,服务网格本身是基于透明代理去实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值