架构图说明:
一、做高可用总共8台服务器:
客户端接入使用用域名加Https 方式访问,可以在传输层面对客户的数据进行加密和防篡改,而且该操作对用户无感,用户无需进行特殊配置,增强用户使用体验。
1、采用2台Nginx进行反向代理,连接Odoo集群,Redis和文件服务器单独部署,数据库使用Postgresql 主备模式。
两台Nginx使用Keepalive实现高可用,对外使用虚拟IP提供服务,可以根据客户需要配置成双活或者热备模式,确保代理层的高可用。根据客户接入的源IP分配到后端不同的Odoo应用。
2、2台应用服务器,ODOO使用集群模式对外提供服务,双节点同时提供服务,任意节点故障不影响客户使用。后续随着业务的增加可以对该服务进行横向扩展,实现应用性能的平滑升级。
3、1台 redis存放缓存和客户登录信息,配合文件服务器,确保客户在不同的应用服务器上都能正确的获取到所需文件和相同的会话信息。
4、1台文件服务器存放系统附件
5、2台数据库服务器 数据库使用主备模式,既可保证数据的不丢失,又能减少数据库双活模式下数据不一致的风险,平时的报表数据亦可在备库上进行查询和计算,
减少对应用和主库的影响,在极端情况下,如主库故障无法启动,可以直接修改应用配置连接到备库,从而保证应用的高可用。
二、odoo代码模块修改:应用模块Redis模块
三、odoo配置文件修改odoo.conf
#下面这个配置是重点
#server_wide_modules = base,web,session_store
#启用redis
#session_store_redis = False
#session_store_host = 127.0.0.1
#session_store_port = 6379
#session_store_dbindex = 0
#session_store_pass = root
中亿丰——何双新