知识卡片
出站入站两端代理的对称职责划分
内容
一次跨服务调用会经过两个 sidecar:调用方本地的出站代理和服务提供方本地的入站代理。所有”该把请求发给哪个实例”的决策——路由匹配、负载均衡选择——全部由出站代理在源头一次性做完;请求真正到达目标 Pod 后,入站代理不再做任何选择,它的路由和集群配置永远只指向本机的 127.0.0.1,单纯把流量原样转交给本地业务进程。发散:这是把一个分布式的决策问题(在一堆实例里选哪个)收敛成单点决策——只由发起方的代理决定一次,接收方完全不用重复判断”我是不是该处理这个请求”,天然避免了两端代理对同一次调用做出不一致判断的可能性。
参考来源
《Istio入门与实战》第12章《一个请求的完整过程分析》