Service Mesh 是什么,我们为什么需要它?
通过 Linkerd 的动态路由规则来确定打算连接哪个服务。这个请求是要路由到生产环境还是演示环境?是请求本地数据中心的服务还是云上的服务?是请求正在测试的新版的服务还是已经在生产中经过验证的老版本?所有的这些路由规则都是动态配置的,可以全局应用也可以部分应用。
找到正确的目的服务后,Linkerd 从一个或几个相关的服务发现端点检索实例池。如果这些信息与 Linkerd 的服务发现信息不同, Linkerd 会决定信任哪些信息来源。
Linkerd 会根据观察到的近的响应延迟来选择速度快的实例。
Linkerd 发送请求给这个实例,记录延迟和响应类型。
如果这个实例挂了、无响应或者无法处理请求, Linkerd 会再另一个实例上重试这个请求(但只有在请求是幂等的时候)。
如果一个实例一直请求失败, Linkerd 会将其移出定时重试的负载均衡池。
如果请求超时, Linkerd 会主动将请求失效,而不是进一步重试从而增加负载。
-
Linkerd 会记录指标和分布式的追踪上述行为的各个方面,将他们保存在集中的指标系统中。
你「在看」吗?
相关文章