EMQX 的集群搭建

这篇具有很好参考价值的文章主要介绍了EMQX 的集群搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述:
EMQX 集群配置 的搭建有几种方式,现在我们是所说是有两种方式,一种是静态方式,一种是动态方式。

环境准备:

由于条件有限我们准备了两台虚拟机。
192.168.31.159 centOS7
192.168.31.93 centOS7
分别安装 emqx-4.4.3-otp24.1.5-3-el7-amd64.zip 解压

第一种实现 static 方式

修改 etc/emqx.conf 文件
93 节点上

# 修改集群模式为 static
cluster.discovery = static
# 设置节点发现列表
cluster.static.seeds = emqx@192.168.31.93 ,emqx@192.168.31.159
# 设置节点名称,请注意,节点标识必须和上面节点发现列表中的一致,否则将无法实现集群节点发现
node.name = emqx@192.168.31.93

159 节点上

# 修改集群模式为 static
cluster.discovery = static
# 设置节点发现列表
cluster.static.seeds = emqx@192.168.31.93 ,emqx@192.168.31.159
# 设置节点名称,请注意,节点标识必须和上面节点发现列表中的一致,否则将无法实现集群节点发现
node.name = emqx@192.168.31.159

我们启动集群中的每个节点

emqx restart

第二种实现 manual方式

修改配置文件

vim emqx/etc/emqx.conf
EMQ X默认配置中启用了匿名认证  生产环境中请禁用匿名认证。
allow_anonymous = false 不允许匿名访问
node.name = emqx@192.168.31.93

allow_anonymous = false
node.name = emqx@192.168.31.159

执行加入命令

在93上执行 93加入到159的集群
./bin/emqx_ctl cluster join emqx@192.168.31.159
查看状态
./bin/emqx_ctl cluster status

通过管理页面查看集群

EMQX 的集群搭建

验证集群发布与订阅

在159 客户端连上,发送消息

EMQX 的集群搭建

在93 客户端连上,接受消息
EMQX 的集群搭建

这样就说明了无论你连接到那个服务节点,都可以进行数据的发送和接收,所以这样就完成了集群的部署,并验证集群的有效性。

nginx 代理配置

集群搭建完后,我们需要一个提供一个外部的统一的入口。集群通常是部署在内网的,不具备外网 IP,即使外网 IP 可知,让客户端一次性保存所有节点的 IP 也是不现实的,因为节点可能动态横向扩展并。除此之外,我们需要平衡客户端的访问流量,也就是需要做负载均衡。

Nginx的安装与配置

在159上安装nginx

安装nginx
yum install -y nginx
systemctl enable nginx
systemctl start nginx
安装 tcp层的转发,通过stream实现的
yum install nginx-mod-stream -y

EMQX 的集群搭建

配置 nginx 负载均衡

请注意,stream配置不能放到http内,即不能放到/etc/nginx/conf.d/,因为stream是通过tcp层转发,而不是http转发

stream {
  # 轮询负载均衡配置
  upstream emqx_cluster {
      server 192.168.31.93:1883 weight=1;
      server 192.168.31.159:1883 weight=1;
  }
  server {
      # 监听 8884 端口
      listen 8884;
      # 反向代理到 emqx_cluster
      proxy_pass emqx_cluster;
      proxy_buffer_size 4k;
      #ssl_handshake_timeout 15s;
      # 证书配置
      #ssl_certificate     /etc/nginx/cert/nginx.pem;
      #ssl_certificate_key /etc/nginx/cert/nginx.key;
  }
}

创建两个客户端:
EMQX 的集群搭建
EMQX 的集群搭建
可以看到他们通过nginx 连过来两个客户端,平均分不到两个实例上。文章来源地址https://www.toymoban.com/news/detail-491481.html

到了这里,关于EMQX 的集群搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 概述、搭建Redis服务器、部署LNP+Redis、创建Redis集群、连接集群、集群工作原理

    概述、搭建Redis服务器、部署LNP+Redis、创建Redis集群、连接集群、集群工作原理

    Top 案例1:搭建redis服务器 案例2:常用命令限 案例3:部署LNP+Redis 案例4:创建redis集群 1.1 具体要求如下 在主机redis64运行redis服务 修改服务运行参数 ip 地址192.168.88.64 服务监听的端口6364 redis服务的连接密码为 tarenaplj 1.2 方案 准备1台新虚拟机,要求如表-1所示。   1.3 步骤 实

    2024年02月12日
    浏览(66)
  • CentOS 7 使用Docker方式搭建ElasticSearch 7.7.0 三节点集群,并配置elasticsearch-head插件,ik分词器,以及Kibana可视化平台

    CentOS 7 使用Docker方式搭建ElasticSearch 7.7.0 三节点集群,并配置elasticsearch-head插件,ik分词器,以及Kibana可视化平台

    IP 角色 172.16.31.191 elasticsearch-1 172.16.31.192 elasticsearch-2 172.16.31.193 elasticsearch-3 并创建相关挂载目录,3台虚拟机都要,如下 还要对文件夹加设置开放权限,如果不开放权限,则会报错无法写入数据的情况,3台虚拟机都要,如下 172.16.31.191 172.16.31.192 172.16.31.193 172.16.31.191 172.16.3

    2024年02月04日
    浏览(12)
  • Nginx 学习(九)集群概述与LVS工作模式的配置

    Nginx 学习(九)集群概述与LVS工作模式的配置

    通过高速网络将很多服务器集中起来一起提供同一种服务,在客户端看来就像是只有一个服务器,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,任务调度是集群系统中的核心技术。 提高性能。如计算密集型应用,如:天气预报、核试验模

    2024年02月09日
    浏览(7)
  • SpringBoot读取配置的几种方式

    SpringBoot读取配置的几种方式

    1.第一种@Value 注意:static和final修饰的变量不生效 2.通过@ConfigurationProperties(prefix=“”)   适用于对对象多个变量统一绑定,比@Value高效 3.通过Environment Spring底层提供的API动态获取变量值    4.通过@PropertySources获取外部文件路径,再通过@Value获取值  只能读取properties文件

    2024年02月15日
    浏览(15)
  • kubernetes 集群搭建(二进制方式)

    kubernetes 集群搭建(二进制方式)

    使用二进制方式搭建Kubernetes集群,可以更加灵活、自由地定制和配置Kubernetes。同时,它还可以实现更高的性能和更小的资源占用。 对于我这个初学者来说: 更加直观地看到Kubernetes的各个组件,了解它们之间的关系和作用。 在搭建Kubernetes集群的过程中,了解集群的架构和各

    2024年02月14日
    浏览(14)
  • Jenkins的几种安装方式以及邮件配置

    Jenkins的几种安装方式以及邮件配置

    目录 Jenkins介绍 Jenkins下载、安装 一、通过war包安装 二、通过docker安装 jenkins 容器中添加 git, maven 等组件 jenkins 容器中的公钥私钥 在 jenkins 容器中调用 docker 简单的方式启动 Docker server REST API 一个 jenkins 示例 三、通过Homebrew安装 访问Jenkins、Jenkins配置 Jenkins配置邮件发送 Jen

    2024年02月16日
    浏览(20)
  • 华为手机配置google play的几种方式

    介绍几种常见的方式 1、华为自带的谷歌商店,通过手机设置开启 。具体步骤如下: 1、进入华为手机设置界面,找到Googel, 2、点击Google,进入设置界面,点击解除即打开Google Play服务, Google Play 前名为Android Market,是一个由Google为Android设备开发的在线 华为自带的谷歌商店 2、在第三

    2024年02月11日
    浏览(13)
  • nginx负载均衡的几种配置方式介绍

    nginx负载均衡的几种配置方式介绍

    目录 一.负载均衡含义简介 二.nginx负载均衡配置方式 准备三台设备: 2.190均衡服务器,2.191web服务器1,2.160web服务器2,三台设备均安装nginx,两台web服务器均有网页内容 upstream内参数 1.一般轮询负载均衡 (1)含义 (2)配置 (3)测试 2.加权轮询负载均衡 (1)含义 (2)配置

    2024年02月13日
    浏览(11)
  • IIS服务网站的几种配置方式

    IIS服务网站的几种配置方式

    一、设置不同的IP地址访问     1.打开本地连接属性-打开IPV4设置-先设置一个固定IP地址,然后在右下角的高级选项中,添加第二个IP地址。     2.设置完IP地址后,在网站服务-绑定添加2个不同的IP地址。 3.使用另一台客户机测试访问连通性     显示上述界面配置成功。  二

    2024年02月14日
    浏览(13)
  • JAVA开发(通过Apollo注入配置信息的几种方式)

    JAVA开发(通过Apollo注入配置信息的几种方式)

    在springCloud中有一个重要的组件就是配置中心,config:server,用于配置springboot中需要注入的各种配置项。但是现在发现越来越多的企业使用Apollo进行集成。博主在开发中也是使用Apollo进行配置。本文总结Apollo的的使用,集成到springboot,和注入方式等。   Apollo是携程框架部门研

    2024年02月09日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包