Skip to Content

Odoo 19 多实例会话:粘性会话还是共享存储

多实例会话:粘性会话与共享存储如何选
November 25, 2025 by
Odoo 19 多实例会话:粘性会话还是共享存储

多 Worker / 多机部署 Odoo 19 时,会话与附件路径必须一致,否则会出现随机掉线、「节点 A 上传、节点 B 打不开」。常见两种方案:负载均衡粘性会话,或共享会话/共享 filestore。本文对比适用场景、附件与支付回调注意点,以及验收方法。

粘性会话

实现简单:同一用户落到同一应用节点。节点宕机时该节点会话失效,用户需重登——适合中小流量。注意 websocket/长连接也要粘性或统一入口。

共享存储

会话存共享介质(视架构选用 DB/Redis 等方案),所有节点 data_dir 指向共享盘或对象存储。适合多机水平扩展与滚动发布。运维复杂度更高:要监控共享盘延迟与锁。

附件与临时文件

上传附件、导出临时文件不能写在节点本地临时目录却期望另一节点下载。ir.attachment 后端必须对所有节点可见。支付回调 URL 必须打到共享入口,不能写死某台内网机。

切换与发布

滚动升级时先耗尽节点连接再下线;配置变更(session 后端)要有回退开关。文档写清:当前是粘性还是共享,谁负责负载均衡规则。

验收标准

  • 两台应用节点轮流停机,会话行为符合方案预期。
  • 节点 A 上传附件,节点 B 可打开。
  • 支付回调在节点切换后仍成功。

滚动发布时的会话与附件检查单

发布前确认:负载均衡粘性策略或共享 session 配置未改丢;所有节点 data_dir 指向同一 filestore/对象存储;支付回调 DNS 指向负载入口。 发布中:逐台下线前排空连接;发布后用两个浏览器分别打到不同节点,上传同一张附件并交叉打开。 若采用粘性会话,文档写明节点故障后用户需重新登录的预期,避免被当成事故。

多机环境禁止把 session 文件目录指到各节点本地磁盘却不共享——这是随机掉线的头号原因。

故障切换演练

每季演练:停止节点 A,观察粘性用户是否重登(预期内)或共享会话用户是否无感; 节点 B 打开 A 上传的 ir.attachment;支付回调打到负载入口仍 200。 记录 DNS、负载均衡健康检查、websocket 入口是否统一。配置仓库保存 nginx/haproxy 片段与 data_dir 挂载说明。禁止半台机器本地盘半台共享盘的混合临时方案上生产。

滚动升级时监控会话创建错误率与附件 404,异常即暂停发布。

会话方案评审要有架构师与运维共同签字,避免开发私自改 sticky 规则。

预生产勾选表需覆盖文章编号 324 全部验收点后再约生产窗口。

将文章编号 324 的配置变更记入发版说明,便于回滚对照。

将文章编号 324 的配置变更记入发版说明,便于回滚对照。

将文章编号 324 的配置变更记入发版说明,便于回滚对照。

将文章编号 324 的配置变更记入发版说明,便于回滚对照。

架构签字与演练记录

粘性或共享方案由架构与运维共签。演练记录含:停节点、交叉打开附件、支付回调、会话预期。 data_dir 挂载图存配置库。滚动发布监控会话错误与附件 404。禁止混合本地 session。 websocket 入口与 HTTP 入口同一策略说明。

落地备忘(324-0):把本文验收项做成检查表,预生产逐条勾选并附截图;生产窗口前提交负责人签字。相关模型与字段以当前 Odoo 19 实例开发者模式显示为准。

落地备忘(324-1):把本文验收项做成检查表,预生产逐条勾选并附截图;生产窗口前提交负责人签字。相关模型与字段以当前 Odoo 19 实例开发者模式显示为准。

中国Odoo网|对照 Odoo 19 企业版多实例实践:粘性或共享二选一,附件与回调必须全节点一致。

Odoo 19 多实例会话:粘性会话还是共享存储
November 25, 2025
Archive