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. constexpr与指针

    一. 常量表达式:是指值不会改变并且在编译过程就能得到的计算结果的表达式. 定义常量表达式变量: constexpr 变量类型 变量名: 例如: constexpr int mf=20://///20 ...

  2. SwfUpload文件上传

    SWFUpload是一个flash和js相结合而成的文件上传插件,其功能非常强大.以前在项目中用过几次,但它的配置参数太多了,用过后就忘记怎么用了,到以后要用时又得到官网上看它的文档,真是太烦了.所以 ...

  3. HDFS-查看文件属性+文件名称过滤

    package com.zhen.hdfs; import java.io.IOException; import java.io.OutputStream; import java.net.URI; ...

  4. Codeforces Round #273 (Div. 2) D. Red-Green Towers 背包dp

    D. Red-Green Towers time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. Python之flask总结

    一.flask      a.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收htt ...

  6. R语言入门基础

    教程:常用运算函数.对一般数据进行运算的常用函数: 1.round() #四舍五入 例:x <- c(3.1416, 15.377, 269.7) round(x, 0) #保留整数位 roun ...

  7. R文件报错:cannot resolve symbol ‘R’

    今天仿照别人项目,因为不太熟悉Androidstudio,所以就照着他项目结构走,结果包名跟他的不一样,项目一直报标题这个错误,网上百度了很多也没用,不过先把网上的解决方案copy一下 请注意 ① E ...

  8. EF切换到Mysql数据库,更改web.config

    1)引用: MySql.Data.dll,MySql.Data.Entity.dll,MySql.Data.Entity.EF6.dll 2)添加: <system.data> <D ...

  9. Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊

    http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...

  10. java 简单解析wsdl

    static void resolve(String wsdl) throws Exception { DocumentBuilderFactory factory = DocumentBuilder ...