写点什么

什么是服务网格?,P8 级别的顶级“并发编程”宝典

用户头像
极客good
关注
发布于: 刚刚

在服务网格中,与单个服务一起部署的代理可以实现服务之间的通信,这被广泛称为 Sidecar 模式。Sidecar(代理)被设计为处理服务间通信的任何功能,例如负载均衡,断路器,服务发现等。


通过服务网格,你可以:


  • 维护,配置和保护应用程序中所有或选定的微服务之间的通信。

  • 在微服务中配置和执行网络功能,例如网络弹性,负载均衡,网络中断,服务发现等。

  • 网络功能与业务逻辑相分离,耦合性低。因此,开发人员可以专注于应用程序的业务逻辑,而与网络通信相关的所有或大部分工作都由服务网格来处理。

  • 由于服务到服务的代理通信使用的是诸如 HTTP1.x / 2.x,gRPC 等标准协议,因此开发人员可以使用任何技术来开发单个服务。


服务网格架构的组件



微服务的业务逻辑

业务逻辑包含微服务的核心应用程序逻辑和基础代码,以及服务到服务的集成逻辑。由于微服务架构的优势,因此可以在任何平台上编写业务逻辑,并且业务逻辑完全独立于其他服务。

基本网络功能

这包括微服务使用基本网络功能来发起请求并与服务网格代理连接。尽管微服务中的主要网络功能是通过服务网格来处理的,但是给定的服务必须包含基本网络功能才能与 Sidecar 代理连接。

应用网络功能

与基本网络功能不同,此组件是通过服务代理维护和管理网络的关键功能,包括网络中断,负载均衡,服务发现等。

服务网格控制平面

所有服务网格代理,都由控制平面集中管理和控制。通过控制平面,你可以指定身份验证策略,度量标准生成策略,并在整个网格中配置服务代理。


使用 Istio 实施服务网格




尽管有其他几种服务网格,但最受欢迎的是 Istio。我们将使用 Istio 探索云原生应用程序的 Service Mesh 架构。


如以上各节所述,在微服务体系结构中,?Istio 通过形成基础结构层来实现此目的,以连接,保护和控制分布式服务之间的通信。Istio 在每个服务旁边部署一个 Istio 代理(称为 Istio sidecar),而该服务本身的代码更改几乎很少或没有。所有服务间流量都定向到 Istio 代理,该代理使用策略控制服务间通信,同时实施部署,故障注入和断路器的基本策略。


Istio 的核心能力




  • 通过身份验证和授权来保护服务间通信。

  • 支持访问控制,资源配额和资源分配的策略层。

  • 支持 HTTP,gRPC,WebSocket 和 TCP 通信的负载均衡。

  • 集群内所有流量的度量,日志和跟踪,包括集群的入口和出口。

  • 通过故障转移,故障注入和路由规则,来配置和控制服务间通信。


**Istio 不依赖与任何


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


平台,这意味着它可以在多种环境中运行**,包括云,本地,Kubernetes 等。Istio 当前支持:


  • Kubernetes 上的服务部署

  • 在 Consul 注册的服务

  • 在单个虚拟机上运行的服务


核心 Istio 组件





用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
什么是服务网格?,P8级别的顶级“并发编程”宝典