istio locality load balancing not working
首先我们知道 isito 是支持 地域路由的,比较同地域优先。istio locality-load-balancing 但是此文档缺失验证,本篇意在从 Inside 来看看是是怎么工作的。
How Higress Works
在 阿里巴巴开源下一代云原生网关Higress:基于Envoy,支持Nginx Ingress零成本快速迁移中,介绍了阿里开源的云原生网关。
我们今天就来探索下,这个项目是做了什么,他又是怎么工作的。
探索性阅读 Envoy
一般阅读源码有两种模式
- 验证式阅读:大致上就是先了解抽象,然后按照抽象去验证系统是否按照我们所理解的方式进行工作。
- 探索性阅读:和上一种略有不同,当我们有类似软件经验的时候,我们经常会参考其他软件的实现方式(一些通用需要解决的问题),去探索 Envoy 是如何解决这类通用的问题的。
这两者阅读源码的方式并没有什么好坏,更像是自顶向下和自底向上的差异。
Isito Pliot 代码大全
虽然起了一个很大的标题,有点标题党的意思,但是本篇会覆盖大多数 istio pliot
的功能,可以耐着性子看下去。
我们在对 istio 有一个初步了解的情况下,我们很容易得知,istio 的整个抽象架构就是一个标准的 CS 模型,对于我们需要解答的就是 istio 是如何将那些配置项和k8s的运行状态,转为 Envoy 所需要使用的数据结构的。