本章节主要介绍在服务网格,如何实现会话保持能力
操作场景
购物车服务由多个 Pod 副本运行,需要会话保持功能,以保证同一用户请求被路由至同一个 Pod,保证同一用户的购物车信息不会丢失
部署
通过设置 card 服务 DestinationRule 的负载均衡策略实现,以请求中 header 中的 UserID 做一致性 hash 负载均衡,调用 card 服务验证会话保持功能,同一用户的多次请求会被路由至同一个 Pod
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: card
namespace: base
spec:
host: cart
trafficPolicy:
loadBalancer:
consistentHash:
httpHeaderName: UserID
exportTo:
- '*'