官网: https://istio.io/latest/docs/
中文参考: https://jimmysong.io/istio-handbook/concepts/what-is-service-mesh.html
下面以 Istio 为例讲解服务网格如何在 Kubernetes 中工作。
- Istio 将服务请求路由到目的地址,根据中的参数判断是到生产环境、测试环境还是 stg
环境中的服务(服务可能同时部署在这三个环境中),是路由到本地环境还是公有云环境?所有的这些路由信息可以动态配置,可以是全局配置也可以为某些服务单独配置。 - 当 Istio 确认了目的地址后,将流量发送到相应服务发现端点,在 Kubernetes 中是 service,然后 service会将服务转发给后端的实例。
- Istio 根据它观测到最近请求的延迟时间,选择出所有应用程序的实例中响应最快的实例。
- Istio 将请求发送给该实例,同时记录响应类型和延迟数据 。
- 如果该实例挂了、不响应了或者进程不工作了,Istio 将把请求发送到其他实例上重试
- 如果该实例持续返回 error,Istio会将该实例从负载均衡池中移除,稍后再周期性得重试
- 如果请求的截止时间已过,Istio 主动失败该请求,而不是再次尝试添



