基于HAProxy怎么搭建EMQ X集群

  介绍

基于HAProxy怎么搭建EMQ X集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

负载均衡器(磅)负责分发设备的MQTT连接与消息到EMQ X集群,采用磅可以提高EMQ X集群可用性,实现负载平衡以及动态扩容。

HAProxy是一款使用C语言编写的自由及开放源代码软件,其提供高可用性,负载均衡,以及基于TCP和HTTP的应用程序代理,它是免费,快速并且可靠的一种解决方案。

本文将介绍如何基于HAProxy部署EMQ X集群并在HAProxy上终结SSL连接,这种部署模式下EMQ X单集群可轻松支持数百万设备。

准备

软硬件版本

<李> Ubuntu 18.04

<李>

EMQ X代理v4.2.5

<李>

HAProxy 2.2 +

机器分配

<李>

172.16.239.107: HAProxy

<李>

172.16.239.108: EMQ X节点1

<李>

172.16.239.109: EMQ X节点2

安装

EMQX

参考EMQ代理X

 wget  https://www.emqx.io/downloads/broker/v4.2.5/emqx-ubuntu18.04-4.2.5-x86_64.zip
  
  unzip  emqx-ubuntu18.04-4.2.5-x86_64.zip HAProxy 

 sudo  apt-get 更新
  sudo  apt-get  install  software-properties-common  - y
  sudo  add-apt-repository  -y  ppa: vbernat/haproxy - 2.2
  sudo  apt-get 更新
  sudo  apt-get  install  -y  haproxy=2.2。\ * 

配置

EMQX

修改<代码> EMQX/etc/EMQX。设计>

 # #,修改节点名
  node.name =emqx@172.16.239.108
  
  # #,修改集群策略为静态的,无需手动添加节点了
  时间=cluster.discovery 静态的
  
  # #,所有集群节点
  cluster.static.seeds =, emqx@172.16.239.108, emqx@172.16.239.109
  
  # #,为了获取,IP 地址,需要设置,proxy_protocol
  listener.tcp.external.proxy_protocol =, 

HAProxy

修改HAProxy HAProxy <代码>/etc//fg

添加TCP端配置

 backend  backend_emqx_tcp
  ,,,mode  tcp
  ,,此balance 循环
  ,,,server  emqx_node_1  172.16.239.108:1883  check-send-proxy  send-proxy-v2  check  inter  10 s  fall  2, rise  5
  ,,,server  emqx_node_2  172.16.239.109:1883  check-send-proxy  send-proxy-v2  check  inter  10 s  fall  2, rise  5 

添加仪表板后端配置

 backend  backend_emqx_dashboard
  ,,此balance 循环
  ,,,server  emqx_node_1  172.16.239.108:18083 检查
  ,,,server  emqx_node_2  172.16.239.109:18083 检查

添加TCP前端配置

 frontend  frontend_emqx_tcp
  ,,,bind  *: 1883
  ,,,option  tcplog
  ,,,mode  tcp
  ,,,default_backend  backend_emqx_tcp 

添加仪表板前端配置

 frontend  frontend_emqx_dashboard
  ,,,bind  *: 18083
  ,,,option  tcplog
  ,,,mode  tcp
  ,,,default_backend  backend_emqx_dashboard 

运行

EMQX

<>之前,美元/bin/emqx 开始      # #,查看集群状态   ,美元。/bin/emqx_ctl  cluster 状态      状态:Cluster  # {running_nodes =比;   ,,,,,,,,,,,,,,,,,,,,,(& # 39;emqx@172.16.239.108& # 39; & # 39; emqx@172.16.239.109& # 39;],   ,,,,,,,,,,,,,,,,,stopped_nodes =祝辞,[]HAProxy}

<>之前,美元sudo  service  haproxy 

此开始时便可以通过<代码> 18083 访问仪表板

基于HAProxy怎么搭建EMQ X集群

通过<代码> 1883 连接到集群,连接情况可以在仪表板查看,或者在节点上执行命令

<>之前,美元/bin/emqx_ctl  clients 列表

证书

如果需要TLS终结,先准备好<代码> emqx。关键代码和<代码> emqx。crt 文件,然后合并生成<代码> emqx。pem 文件

<>之前,美元cat  emqx.crt  emqx.key 祝辞,emqx.pem

然后添加以下配置即可

 frontend  frontend_emqx_tcp
  ,,,bind  *: 8883年,ssl  crt /opt/证书/emqx.pem  no-sslv3
  ,,,option  tcplog
  ,,,mode  tcp
  ,,,default_backend  backend_emqx_tcp 

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

基于HAProxy怎么搭建EMQ X集群