You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EMQX 4.4.11多Exhook配置及Nginx负载均衡配置咨询

一、EMQX 4.4.11配置两个Exhook实例

你可以通过配置文件或者EMQX Dashboard两种方式添加两个Exhook GRPC服务器:

方式1:修改配置文件(Docker环境)

  1. 进入EMQX容器:docker exec -it <emqx_container_name> /bin/sh
  2. 编辑EMQX主配置文件/etc/emqx/emqx.conf,添加以下配置(替换为你的Exhook实例IP和端口):
# 第一个Exhook实例
exhook.server.1 = grpc://192.168.1.100:9000
# 第二个Exhook实例
exhook.server.2 = grpc://192.168.1.101:9000
  1. 退出容器后重启EMQX:docker restart <emqx_container_name>

如果是用Docker Compose部署,也可以在environment里直接配置:

services:
  emqx:
    image: emqx/emqx:4.4.11
    environment:
      - EXHOOK_SERVER__1=grpc://192.168.1.100:9000
      - EXHOOK_SERVER__2=grpc://192.168.1.101:9000
    ports:
      - "1883:1883"
      - "18083:18083"

方式2:通过EMQX Dashboard配置

  1. 访问EMQX Dashboard(默认地址http://<emqx_ip>:18083,默认账号admin/public)
  2. 左侧导航栏进入规则引擎 > Exhook
  3. 点击添加按钮,依次输入两个Exhook的GRPC地址(如grpc://192.168.1.100:9000和grpc://192.168.1.101:9000),保存后立即生效,无需重启EMQX
二、用Nginx实现Exhook负载均衡(完全可行)

EMQX的Exhook支持指向单个GRPC代理地址,因此可以用Nginx作为反向代理,将请求负载均衡到两个Exhook实例,具体配置步骤如下:

1. 配置Nginx upstream和server块

编辑Nginx配置文件(如/etc/nginx/conf.d/exhook_grpc.conf),添加以下内容:

# 定义Exhook实例集群
upstream exhook_cluster {
    server 192.168.1.100:9000; # 第一个Exhook实例
    server 192.168.1.101:9000; # 第二个Exhook实例
    # 可选负载均衡策略:默认轮询,可改为least_conn(最少连接数)等
    # least_conn;
}

server {
    listen 9001 http2; # GRPC基于HTTP/2,必须启用http2

    location / {
        grpc_pass grpc://exhook_cluster; # 转发请求到Exhook集群
        # 可选:配置日志路径
        access_log /var/log/nginx/exhook_access.log;
        error_log /var/log/nginx/exhook_error.log;
    }
}

2. 验证并重启Nginx

  • 检查配置语法:nginx -t
  • 重启Nginx生效:systemctl restart nginx(如果是Docker部署的Nginx,执行docker restart <nginx_container_name>)

3. 修改EMQX的Exhook配置

将EMQX中Exhook的地址改为Nginx的代理地址(如grpc://<nginx_ip>:9001),无论是通过配置文件还是Dashboard修改均可。之后EMQX会将所有Exhook请求发送到Nginx,由Nginx自动负载均衡到两个Exhook实例。

注意事项

  • 确保Nginx服务器能正常访问两个Exhook实例,防火墙需开放对应端口(如9000)
  • EMQX服务器需能访问Nginx的代理端口(如9001)
  • GRPC依赖HTTP/2,Nginx的listen指令必须加上http2参数

内容的提问来源于stack exchange,提问作者Amalka Subasinghe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:42:53