AI Agent粘性会话:用户始终找同一个Agent

📘 AI教程 💬 🔥 Trending

🩺 摘要

多实例部署时用户请求被分到不同Agent,上下文丢了。粘性会话保证同一个用户始终找同一个Agent实例。

📝 详情

多实例的问题

假设你部署了3个Agent实例做负载均衡。用户A的第一次请求到了实例1,第二次请求到了实例2——实例2不知道实例1跟用户说了什么。

三种解法

1. Session存Redis(推荐) 所有实例共享同一个Redis,不管请求到哪个实例都能拿到上下文。

# 每个请求从Redis加载session
session = redis.get(f'session:{user_id}')

2. 粘性会话(Sticky Session) 负载均衡层保证同一个用户始终分配给同一个实例。

upstream agent {
    ip_hash;  # 按IP分配,同一IP始终到同一实例
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
}

3. 客户端session 把session数据加密后存在客户端,每次请求带回来。

总结

Session存Redis是最干净的方案。粘性会话是备选,实例挂了用户会话也跟着丢。