Skip to content

会话亲和性 ​

会话亲和性(Session Affinity,也称为 Sticky Session)是一种将同一用户的请求路由到同一 Pod 的技术。

目录 ​

  1. 会话亲和性概述
  2. 基于一致性哈希
  3. 基于 Cookie
  4. 基于 Header (English)
  5. 实践示例 (English)

会话亲和性概述 ​

基于一致性哈希 ​

基于 HTTP Header ​

yaml
apiVersion: networking.istio.io/v1
kind: DestinationRule
metadata:
  name: reviews-session-affinity
spec:
  host: reviews
  trafficPolicy:
    loadBalancer:
      consistentHash:
        httpHeaderName: "x-user-id"

yaml
apiVersion: networking.istio.io/v1
kind: DestinationRule
metadata:
  name: reviews-cookie-affinity
spec:
  host: reviews
  trafficPolicy:
    loadBalancer:
      consistentHash:
        httpCookie:
          name: "session-id"
          ttl: 0s  # Cookie expiration time (0s = session cookie)

基于源 IP ​

yaml
apiVersion: networking.istio.io/v1
kind: DestinationRule
metadata:
  name: reviews-ip-affinity
spec:
  host: reviews
  trafficPolicy:
    loadBalancer:
      consistentHash:
        useSourceIp: true

参考资料 ​

向文档提问

按 Enter 发送,按 Shift+Enter 换行。