首页 > 其他分享 >云原生架构(一)原理概览

云原生架构(一)原理概览

时间:2022-12-06 17:57:58浏览次数:60  
标签:原生 架构 Envoy 概览 Istio 流量 网格 服务

系列目录

云原生架构(一)原理概览

云原生架构(二)环境搭建

云原生架构(三)简单样例

云原生架构(四)源码详解

云原生架构(五)总结提高

一、行业现状

 云原生架构真正进入大众视野要从2017年Kubernetes一统虚拟和容器技术后,Kubernetes提供了强大的虚拟化基础设施。基于 Kubernetes 之上构筑的服务网格(Service Mesh)是目前最先进的架构风格(服务端架构演进史),即通过中间人流量劫持的方式,以介乎于应用和基础设施之间的边车代理(Sidecar)来做到既让用户代码可以专注业务需求,不必关注分布式的技术,又能实现几乎不亚于Spring Cloud 的那种通过代码来解决分布式问题的可配置、安全和可观测性。本文就从Istio入手,剖析云原生架构。

二、原理概览

2.1 愿景&概念

Istio官网首页一句话概括了Istio的愿景

Simplify observability, traffic management, security, and policy with the leading service mesh.

使用领先的服务网格简化可观察性、流量管理、安全性和策略

 

  • 流量管理:Istio 的流量路由规则可以让您很容易的控制服务之间的流量和 API 调用。Istio 简化了服务级别属性的配置,比如熔断器、超时和重试,并且能轻松的设置重要的任务,如 A/B 测试、金丝雀发布、基于流量百分比切分的概率发布等。
  • 安全:提供强大的身份,强大的策略,透明的 TLS 加密,认证,授权和审计(AAA)工具来保护你的服务和数据。Istio 安全的目标是:

    • 默认安全:应用程序代码和基础设施无需更改
    • 深度防御:与现有安全系统集成以提供多层防御
    • 零信任网络:在不受信任的网络上构建安全解决方案
  • 可观测性:Istio 为网格内所有的服务通信生成详细的遥测数据。这种遥测技术提供了服务行为的可观测性,使运维人员能够排查故障、维护和优化应用程序。Istio 生成以下类型的遥测数据:
    • 指标:Istio 基于 4 个监控的黄金标识(延迟、流量、错误、饱和)生成了一系列服务指标。Istio 还为网格控制平面提供了更详细的指标。除此以外还提供了一组默认的基于这些指标的网格监控仪表板。
    • 分布式追踪:Istio 为每个服务生成分布式追踪 span,运维人员可以理解网格内服务的依赖和调用流程。
    • 访问日志:当流量流入网格中的服务时,Istio 可以生成每个请求的完整记录,包括源和目标的元数据。

2.2 架构

Istio 服务网格从逻辑上分为数据平面控制平面

  • 数据平面 由一组智能代理(Envoy)组成,被部署为 Sidecar。这些代理负责协调和控制微服务之间的所有网络通信。它们还收集和报告所有网格流量的遥测数据。

  • 控制平面 管理并配置代理来进行流量路由。 

数据平面Envoy

Istio 使用 Envoy 代理的扩展版本。Envoy 是用 C++ 开发的高性能代理,用于协调服务网格中所有服务的入站和出站流量。Envoy 代理被部署为服务的 Sidecar,在逻辑上为服务增加了 Envoy 的许多内置特性,例如:

  • 动态服务发现
  • 负载均衡
  • TLS 终端
  • HTTP/2 与 gRPC 代理
  • 熔断器
  • 健康检查
  • 基于百分比流量分割的分阶段发布
  • 故障注入
  • 丰富的指标

这种 Sidecar 部署允许 Istio 可以执行策略决策,并提取丰富的遥测数据,接着将这些数据发送到监视系统以提供有关整个网格行为的信息。

Sidecar 代理模型还允许您向现有的部署添加 Istio 功能,而不需要重新设计架构或重写代码。

由 Envoy 代理启用的一些 Istio 的功能和任务包括:

  • 流量控制功能:通过丰富的 HTTP、gRPC、WebSocket 和 TCP 流量路由规则来执行细粒度的流量控制。
  • 网络弹性特性:重试设置、故障转移、熔断器和故障注入。
  • 安全性和身份认证特性:执行安全性策略,并强制实行通过配置 API 定义的访问控制和速率限制。
  • 基于 WebAssembly 的可插拔扩展模型,允许通过自定义策略执行和生成网格流量的遥测。

控制平面Istiod

Istiod 提供服务发现、配置和证书管理。

Istiod 将控制流量行为的高级路由规则转换为 Envoy 特定的配置,并在运行时将其传播给 Sidecar。Pilot 提取了特定平台的服务发现机制,并将其综合为一种标准格式,任何符合 Envoy API 的 Sidecar 都可以使用。

Istiod 安全通过内置的身份和凭证管理,实现了强大的服务对服务和终端用户认证。您可以使用 Istio 来升级服务网格中未加密的流量。使用 Istio,运营商可以基于服务身份而不是相对不稳定的第 3 层或第 4 层网络标识符来执行策略。此外,您可以使用 Istio 的授权功能控制谁可以访问您的服务。

Istiod 充当证书授权(CA),并生成证书以允许在数据平面中进行安全的 mTLS 通信。

 

标签:原生,架构,Envoy,概览,Istio,流量,网格,服务
From: https://www.cnblogs.com/dennyzhangdd/p/16954760.html

相关文章

  • HANA 架构图
    ......
  • 云原生架构学习计划
    一、背景云原生已经是架构师躲不开的一个门槛,有必要拿下。这里列一下博主对云原生的学习之路。也可以给各位同学打个样,找到入门一个架构的方法。二、计划2.1总耗时一......
  • StoneDB 首席架构师李浩:如何选择一款 HTAP 产品?
    作者:李浩责编:宇亭当我们选择一款HTAP数据库时,总是先被其相关文档里所描述的优异性能所吸引。卓越的性能是我们选择一款产品的出发点,因为我们希望该款产品能够解决我......
  • 云原生周刊 | 美国国防部发布零信任战略与路线图
    美国国防部发布了到2027年截止的零信任战略与路线图,总共有45项能力,最终目标是“安全的国防部信息企业”。开源项目推荐ExtismExtism是一个WebAssembly插件实现......
  • 程序与架构——读《深入浅出WPF》第6章
    一。程序的本质:    数据+算法二。精力过多放在UI上的转变:    UI为核心时,数据处被动状态。===>>>以数据为核心,数据处主动地位。三。三层结构——以数据......
  • 【UE架构】虚幻GamePlay架构
    一.Actor和Component1.1创建Actor的两种方式静态创建:直接在场景中编辑拖拽,创建由引擎构建场景时进行创建无需编码,更加直观简单但会影响游戏启动速度,增加场......
  • 影响金融架构的主要合规法规
    金融属于强监管行业,跟技术架构方案紧密相关的几个法规如下:一、支付牌照相关2010年6月14日,中国人民银行发布《非金融机构支付服务管理办法》,并于当年9月1日起施行,这就是支......
  • 服务端架构演进史
    一、引子当我们入行成为一名后端程序员时,就很羡慕架构师这个岗位的人,视同神一样的存在。而要成为一名后端架构师,必会技能就是分布式架构。今天我们不讲各种组件怎么去实现......
  • PaaS平台架构的两大应用类型
    在开发应用时,通常会把这些应用中共有的部分或者需要使用到的功能抽离出来作为基础服务,以供编写和运行从而降低应用创建和运维的复杂性。这一系列应用所要用到的基本功能即为......
  • PaaS平台架构的两大应用类型
     在开发应用时,通常会把这些应用中共有的部分或者需要使用到的功能抽离出来作为基础服务,以供编写和运行从而降低应用创建和运维的复杂性。这一系列应用所要用到的基本功能......