当前位置: 首页 > news >正文

odoo18应用、队列服务器分离(SSHFS)

目录

1. 背景

2.环境准备

3. conf配置

3.1应用服务器

3.2 队列服务器

4.结果演示


1. 背景

在大型企业或高并发业务场景下,Odoo 的应用层和后台任务处理层往往会产生资源竞争。随着业务规模的增长,用户在操作界面(应用服务器)与后台异步任务(队列服务器)之间的耦合问题会逐渐凸显。将 Odoo 应用服务器 与 Queue Job 队列服务器 进行架构分离,是一种更高效、可扩展、符合现代分布式设计的方案。本文介绍基于  SSHFS 模式的 队列服务器和应用服务器分离。

2.环境准备

准备两个服务器

服务器1 4核4G   10.1.8.15  odoo 的data_dir 路径  /opt/odoo18_data

服务器2  2核2G  10.1.20.2 

这两个服务器的 内网IP位于同一个局域网下面

应用服务器:安装 openssh-server

sudo apt update && sudo apt install openssh-server

队列服务器:

# 安装sshfs
sudo apt install sshfs
# 实际挂载点创建
sudo mkdir -p /opt/odoo18_data
sudo sshfs -o allow_other,default_permissions ubuntu@10.1.8.15:/opt/odoo18_data /opt/odoo18_data
ubuntu 是服务器1 的登录名

挂载之后可以去看一下应用服务器的这个文件夹是否过来了

3. conf配置

3.1应用服务器
 

[options]
addons_path = /home/ubuntu/odoo18/odoo/addons,/home/ubuntu/odoo18/myaddons
db_host = localhost
proxy_mode = True
gevent_port = 8072
db_port = 5432
db_name = False
bin_path = /usr/local/bin
http_port = 8068
db_user = odoo
db_password = odoo
logfile = ./odoo18.log
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 60000
limit_time_real_cron = -1
list_db = True
server_wide_modules = base,web
data_dir = /opt/odoo18_data
workers = 4                 
max_cron_threads = 2        
limit_memory_hard = 2684354560  
limit_memory_soft = 2147483648

这里的应用服务器用的是 NGINX 代理本地的  localhost:8068

server_wide_modules 去除 queue_job 即应用服务器不跑队列

3.2 队列服务器

db_port = 5432
db_name = Falsedb_user = odoo
db_password = odoo
#logfile = ./odoo18.log
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 60000
limit_time_real_cron = -1
list_db = True
server_wide_modules = base,web,queue_job
data_dir = /opt/odoo18_datamax_cron_threads = 0
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
http_enable = False[queue_job]
channels = root:4
port = 8068
host = 10.1.8.15

注意:  http_port 需要设置为False,因为我们的队列服务器已经不需要开启HTTP服务了,http_port 参数也不需要设置

关于 queue_job 的配置说明

channels = root:4  设置默认队列为 root队列,开启四个 work

port = 8068

host = 10.1.8.15

队列完成任务的时候向应用服务器 发起回调;host、port 也就是应用服务器的地址和http端口

4.结果演示

当我们只开启应用服务器,生成队列任务的时候, 任务都是等待状态

这时开启队列服务器的进程:

可以看到 通过应用服务器生成的任务这时已经开始执行,通过应用服务器1 的queue_job的web页面可以看到任务已经是完成状态。  到此 基于 SSHFS 模式的 应用服务器和队列服务器基本配置完成,但是相对于NFS,SSHFS的性能还是不大行,当并发量大起来的时候还是得考虑 NFS 进行文件共享,后续有空再出一个NFS的教程...

http://www.dtcms.com/a/403033.html

相关文章:

  • 老年健康管理小工具抖音快手微信小程序看广告流量主开源
  • c#vb.net动态创建二维数组
  • php做网站完整视频动漫制作和动漫设计哪个好
  • 云原生微服务中间件选型
  • Python/JS/Go/Java同步学习(第二十四篇)四语言“元组概念“对照表: 雷影“老板“发飙要求员工下班留校培训风暴(附源码/截图/参数表/避坑指南)
  • vue3在 script 中定义组件
  • 【CSRF】防御
  • vue从template模板到真实渲染在页面上发生了什么
  • 从构建工具到状态管理:React项目全栈技术选型指南
  • 做彩票网站电话多少钱湛江网站网站建设
  • 云手机性能会受到哪些因素的影响?
  • app网站维护网站开发众包平台
  • [iOS] OC高级编程 - 引用计数 (1)
  • MyBatis-Plus实用指南:玩转自动化与高效CRUD
  • 揭开AI神秘面纱:大语言模型原理与Python极简开发
  • cmake详解
  • RabbitMQ-高可用机制
  • 云手机对网络游戏的重要性
  • 莱州做网站设计院一般年薪
  • Java 将 PDF 转换为 HTML:高效解决方案与实践
  • 从Prompt到Answer:详解AI Agent架构中的ReAct模式与工具调用
  • 六、OpenCV中的图像读写
  • 设计案例的网站pc开奖网站建设
  • 10月底实习准备-Mysql(按面试频率准备)
  • Flink Watermark机制解析
  • Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium
  • 实战:基于HarmonyOS 5构建分布式聊天通讯应用
  • 承德网站建设公司网页设计模板设计
  • HCIP-IoT/H52-111 真题详解(章节C),接入技术和网络设计 /Part1
  • 灵画-AI绘画小程序