Istio 服务流量控制与弹性设计
1. 服务流量镜像与外部路由
1.1 服务流量镜像
在服务请求中,每个请求会同时发往 catalog 服务的 v1 和 v2 版本。到达 v1 的请求为实时请求,其响应可见;到达 v2 的请求则是镜像请求,采用“发送即遗忘”的方式处理。当镜像流量到达 catalog v2 时,Host 头会被修改,以表明这是镜像/影子流量。例如,原本的 Host: catalog:8080 会变为 Host: catalog-shadow:8080 。接收带有 -shadow 后缀请求的服务能够识别该请求为镜像请求,并在处理时加以考虑,比如丢弃响应、回滚事务或避免进行资源密集型调用。
流量镜像有助于降低版本发布风险,但应用程序需能在实时和镜像模式下运行,支持多版本部署。
1.2 外部服务路由
默认情况下,Istio 允许服务网格内的任何流量流出。不过,可通过修改 Istio 的默认策略,将其从 ALLOW_ANY 改为 REGISTRY_ONLY ,以阻止所有试图离开网格的流量。这是一种深度防御策略,可防止网格内的服务或应用被攻击后与外部通信。但仅依靠 Istio 阻止外部流量是不够的,因为受攻击的 Pod 可能绕过代理,所以还需采用深度防御方法,如第 3 层和第 4 层保护。
以下是修改 Istio 默认策略的命令:
istioctl install --set pr
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



