Istio架构关键目标

  • 最大化透明度:Istio将自身自动注入到服务间所有的网络路径中。Istio使用sidecar代理来捕获流量,并且在尽可能的地方自动编程网络层,通过代理来路由流量,无需改动应用程序代码。在K8s中,代理注入到POD中,并可以修改路由规则,就可以调节流量了。
  • 增量
  • 可移植性
  • 策略一致性

流量管理:

  Pilot和Envoy: Istio流量管理的核心组件是Pilot,它管理和部署所有的Envoy代理实例。它允许指定在Envoy代理之间使用什么样的路由流量规则,并配置故障恢复功能,如超时,重试和熔断器。通过发现服务让Envoy了解网格中的其他实例。

  每个Envoy实例维护负载均衡信息,负载均衡信息是从Pilot获得的,以及负载均衡池中其他实例的定期健康检查。从而允许在目标实例之间智能分配流量,同时遵循指定的路由规则。

  Istio的流量管理模型,解耦流量和基础设施扩展,运维人员通过Pilot指定他们希望遵循的流量规则。

A/B测试的动态请求路由,超时,重试和熔断器处理故障恢复,故障注入测试服务之间故障恢复策略。

Pilot维护了网格中服务的规范表示

   Envoy sidecar/代理拦截并转发客户端和服务器之间所有的请求/响应。

   运维人员使用Pilot指定路由规则,Envoy根据这些规则动态的确定服务版本的选择。路由规则允许Envoy根据诸如header,与源/目的相关联的标签和/或分配给每个版本的权重的标准来选择版本。

  Ingress和Egress:

  发现和负载均衡:

    服务注册:服务新实例自动注册到服务注册表,自动删除不健康的实例。

         服务发现:Envoy实例执行服务发现

        网格中的服务使用DNS名称访问彼此。服务的所有HTTP流量都会通过Envoy自动重新路由。Envoy在负载均衡池中的实例之间分发流量。除了负载均衡外,Envoy还会定期检查池中每个实例的运行状况。Envoy会根据健康检查API调用的失败率将实例分为健康和不健康。不健康的会从负载均衡池中弹出。健康的还会被放回来。

 处理故障

  • Envoy提供了开箱即用的故障恢复功能。
  • 超时。
  • 超时预算有限重试以及重试之间的可变抖动。
  • 并发连接数和上游服务请求数限制。
  • 对负载均衡池的每个成员进行健康检查。
  • 细粒度熔断器

故障注入:   

二 Istio设计的核心原则的更多相关文章

  1. 20145215&20145307《信息安全系统设计基础》实验二 固件设计

    20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...

  2. 20145218&20145240 《信息安全系统设计基础》实验二 固件设计

    20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...

  3. 20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计

    20145221高其&20145326蔡馨熠<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 l ...

  4. [原创].NET 分布式架构开发实战之二 草稿设计

    原文:[原创].NET 分布式架构开发实战之二 草稿设计 .NET 分布式架构开发实战之二 草稿设计 前言:本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下 ...

  5. 【HELLO WAKA】WAKA iOS客户端 之二 架构设计与实现篇

    上一篇主要做了MAKA APP的需求分析,功能结构分解,架构分析,API分析,API数据结构分析. 这篇主要讲如何从零做iOS应用架构. 全系列 [HELLO WAKA]WAKA iOS客户端 之一 ...

  6. 《c# 实现p2p文件分享与传输系统》 二、 设计

    c#实现P2P文件分享与传输系统 二.设计 在上一篇文章中,介绍了P2P网络的常用模型,并确定了EasyP2P系统的框架,本文将就此设计完成它的主要结构和运作流程. 1. 首先是Tracker Ser ...

  7. 《c# 实现p2p文件分享与传输系统》 二、 设计 - 续(NAT穿透)

    c#实现P2P文件分享与传输系统 二.设计 - 续(NAT穿透) 首先要抱歉,因为这些日子较忙,没有写文章,这个系列拖了很久,现在开始继续.  上一篇文章介绍了p2p系统Tracker Server和 ...

  8. Istio的流量管理(实操二)(istio 系列四)

    Istio的流量管理(实操二)(istio 系列四) 涵盖官方文档Traffic Management章节中的inrgess部分. 目录 Istio的流量管理(实操二)(istio 系列四) Ingr ...

  9. Java连接Oracle数据库开发银行管理系统【二、设计篇】

    一.总体分析     此系统的实现并不难,但是如何更好的设计出实现方式还是需要更深入的分析,例如:如果再增加其他功能,是不是需要变动的 代码很少,只是直接再增加一点功能就可以了呢?如果使用的不是Ora ...

随机推荐

  1. 外推主要发布平台(JM)

    百家.搜狐.一点.头条   主要发布平台: 搜狐(权重高.收录好.审核相对宽松) https://mp.sohu.com/mpfe/v3/login 网易号(开通网易号,会有网易博客,网易博客可被收录 ...

  2. 多校HDU5723 最小生成树+dfs回溯

    Abandoned country Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  3. mongodb的使用(入门)

    1.登录mongodb ./bin/mongo 2.查看所有数据库 show dbs  ##默认有admin  和  local两个库 3.创建数据库 use test #创建数据库后,如果不写入数据 ...

  4. Linux嵌入式 -- Bootloader , Uboot

    1. Bootloader作用 PC机中的引导加载程序由BIOS(其本质是一段固件程序)和GRUB或LILO一起组成.BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后将控制权交 ...

  5. Spring初学之Spel初配

    Spel又时候可以方便我们为bean的属性赋值,如下配置文件就是常用的一些使用: <?xml version="1.0" encoding="UTF-8" ...

  6. HDU4819 Mosaic

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  7. Python 正则表达式匹配小数

    不废话,直接上表达式 (\d+(\.\d+)?) 如: import re find_float = lambda x: re.search("\d+(\.\d+)?",x) .g ...

  8. 算法练习1---桶排序java版

    今天复习了桶排序. 例如现在有满分为10分的试卷,学生得分分别为2,8,5,3,5,7,现在要给这些分数按照从大到小输出,使用桶排序的思想:有11个桶,每个桶有一个编号,编号从0-10,每出现一个分数 ...

  9. 大数据分析处理框架——离线分析(hive,pig,spark)、近似实时分析(Impala)和实时分析(storm、spark streaming)

    大数据分析处理架构图 数据源: 除该种方法之外,还可以分为离线数据.近似实时数据和实时数据.按照图中的分类其实就是说明了数据存储的结构,而特别要说的是流数据,它的核心就是数据的连续性和快速分析性: 计 ...

  10. LSM树——LSM 将B+树等结构昂贵的随机IO变的更快,而代价就是读操作要处理大量的索引文件(sstable)而不是一个,另外还是一些IO被合并操作消耗。

    Basic Compaction 为了保持LSM的读操作相对较快,维护并减少sstable文件的个数是很重要的,所以让我们更深入的看一下合并操作.这个过程有一点儿像一般垃圾回收算法. 当一定数量的ss ...