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

网页制作与网站建设从入门到精通 下载网站改版 总结

网页制作与网站建设从入门到精通 下载,网站改版 总结,kk网龙岩,广州seo快速排名负载均衡器(LB)负责分发设备的 MQTT 连接与消息到 EMQ X 集群,采用 LB 可以提高 EMQ X 集群可用性、实现负载平衡以及动态扩容。 HAProxy简介 HAProxy 是一款高性能的 开源负载均衡器 和 反向代理服务器,主要用于在多个服务器之…

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

HAProxy简介

HAProxy 是一款高性能的 开源负载均衡器 和 反向代理服务器,主要用于在多个服务器之间分配网络流量,提升系统的可用性、可靠性和性能。它广泛应用于 Web 服务、API 网关、数据库代理等场景,支持 HTTP、TCP 等多种协议。

核心功能

负载均衡

  • 根据预设策略(如轮询、权重、IP 哈希、最少连接数等)将客户端请求分发到后端服务器集群,避免单台服务器过载。
  • 支持动态调整后端服务器状态,自动剔除故障节点,保障服务连续性。

 反向代理

  • 隐藏后端服务器的真实 IP 和结构,增强安全性;同时可集中处理 SSL 终止、请求过滤等任务,减轻后端服务器负担。

 高可用性

  • 轻量级设计,资源占用低,支持单机每秒处理数万至数十万请求,适合高并发场景。
  • 支持健康检查机制,实时监控后端服务器状态,快速切换故障节点。

 灵活的规则配置

  • 通过配置文件定义复杂的路由规则、请求改写、访问控制等,满足多样化业务需求(如基于 URL、域名、客户端 IP 的分流)。

监控与统计

  • 内置统计页面,可实时查看流量分布、服务器状态、响应时间等关键指标,便于运维分析。

典型应用场景

  • 大型网站的流量分发(如电商平台、社交媒体)。
  • API 网关,统一管理接口请求的路由、认证和限流。
  • 数据库读写分离代理,分离读请求到从库,提升主库性能。
  • 跨数据中心的流量调度,实现灾备和就近访问。

优势

  • 高性能:基于事件驱动模型,处理效率远超传统代理工具。
  • 稳定性:成熟可靠,被 Netflix、GitHub、Stack Overflow 等大型平台广泛采用。
  • 灵活性:支持自定义配置和扩展,适配复杂业务场景。

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

准备

软硬件版本

  • Ubuntu 22.04
  • EMQ X Broker v5.8.7
  • HAProxy 2.2+

机器分配

  • 172.16.239.107:HAProxy
  • 172.16.239.108 (node1.emqx.com):EMQ X 节点 1
  • 172.16.239.109 (node2.emqx.com):EMQ X 节点 2

安装

EMQX

参考 EMQ X Broker

下载  

下载 EMQX 开源版

wget https://www.emqx.com/zh/downloads/broker/5.8.7/emqx-5.8.7-elixir-ubuntu22.04-amd64.tar.gz
 安装
sudo mkdir -p emqx && tar -zxvf emqx-5.8.7-elixir-ubuntu22.04-amd64.tar.gz -C emqx

HAProxy

安装
# 更新软件包索引
sudo apt update # 安装 HAProxy
sudo apt install haproxy# 检查版本  
haproxy -v

配置

EMQX

修改 emqx/etc/emqx.conf 配置文件,另一台同理

## 修改节点名
node {name = "emqx@node1.emqx.com"
}## 修改集群策略为static,无需手动添加节点了
cluster {discovery_strategy  =  staticstatic {## 所有集群节点	seeds = ["emqx@node1.emqx.com", "emqx@node2.emqx.com"]}
}## 为了获取 真实IP 地址,需要设置 proxy_protocol
listeners.tcp.default {bind = "0.0.0.0:1883"max_connections = 1024000proxy_protocol = true
}

HAProxy

修改 /etc/haproxy/haproxy.cfg

添加 TCP backend 配置
backend backend_emqx_tcpmode tcpbalance roundrobinserver emqx_node_1 node1.emqx.com:1883 check-send-proxy send-proxy-v2 check inter 10s fall 2 rise 5server emqx_node_2 node2.emqx.com:1883 check-send-proxy send-proxy-v2 check inter 10s fall 2 rise 5
 添加 TCP frontend 配置
frontend frontend_emqx_tcpbind *:1883option tcplogmode tcpdefault_backend backend_emqx_tcp

可配置的负载均衡策略

HAProxy 提供了多种负载均衡策略,用于控制连接的分发方式。在实际使用中,根据您的服务器性能、流量需求等选择适当的负载均衡策略非常重要。

以下是 HAProxy 支持的负载均衡策略与配置方式。

轮询(Round Robin)

这是默认的负载均衡策略,它将请求依次分配给每个后端服务器,循环往复。这样可以平均分担负载,适用于后端服务器性能差不多的情况。

backend mqtt_backendmode tcpbalance roundrobinserver emqx1 emqx1-cluster.emqx.io:1883 checkserver emqx2 emqx2-cluster.emqx.io:1883 checkserver emqx3 emqx3-cluster.emqx.io:1883 check

权重轮询(Weighted Round Robin)

在轮询基础上,为每个 EMQX 节点分配不同的权重,从而影响请求分配的比例。权重越高的服务器会获得更多的请求。

backend mqtt_backendmode tcpbalance roundrobinserver emqx1 emqx1-cluster.emqx.io:1883 check weight 5server emqx2 emqx2-cluster.emqx.io:1883 check weight 2server emqx3 emqx3-cluster.emqx.io:1883 check weight 3

IP 哈希(IP Hash)

根据客户端的 IP 地址进行哈希计算,然后将请求分配给一个固定的后端服务器。这确保同一个客户端的请求总是分发到同一个服务器上。

backend mqtt_backendmode tcpbalance sourceserver emqx1 emqx1-cluster.emqx.io:1883server emqx2 emqx2-cluster.emqx.io:1883server emqx3 emqx3-cluster.emqx.io:1883

最少连接数(Least Connections)

请求分发到当前连接数最少的服务器,以确保每个服务器的负载尽可能平衡。适用于后端服务器性能差异较大的情况。

backend mqtt_backendmode tcpbalance leastconnserver emqx1 emqx1-cluster.emqx.io:1883server emqx2 emqx2-cluster.emqx.io:1883server emqx3 emqx3-cluster.emqx.io:1883
 添加 dashboard backend 配置
backend backend_emqx_dashboardbalance roundrobinserver emqx_node_1 node1.emqx.com:18083 checkserver emqx_node_2 node2.emqx.com:18083 check
添加 dashboard frontend 配置
frontend frontend_emqx_dashboardbind *:18083option tcplogmode tcpdefault_backend backend_emqx_dashboard

配置反向代理 MQTT WebSocket

backend mqtt_ws_backendmode tcpbalance roundrobinserver emqx_node_1 node1.emqx.com:8083 checkserver emqx_node_2 node1.emqx.com:8083 checkfrontend mqtt_ws_frontendbind *:8083 mode tcpdefault_backend mqtt_ws_backend

监控 HAProxy 状态

为 HAProxy 配置一个特殊的 frontend 即可实现状态监控,能够查看每个 backend 与 frontend 连接情况,以及全局的连接统计信息。参考 Exploring the HAProxy Stats Page:

frontend statsmode httpbind *:8888stats enablestats uri /statsstats refresh 10s

重新加载 HAProxy 以应用新的配置,建议先检查配置:

sudo service haproxy reload

 打开 http://localhost:8888/stats 查看状态数据:

HAProxy 高可用方案介绍

HAProxy 和 Keepalived 是一种常见的高可用性和负载均衡解决方案的组合。Keepalived 是 Linux下⼀个轻量级别的⾼可⽤解决⽅案,它可以管理多个服务器上的虚拟 IP 地址(VIP),并确保在某个服务器不可用时将 VIP 迁移到另一个服务器,从而实现高可用性。Keepalived 还可以监控 HAProxy 进程,并在需要时重新启动它,以确保负载均衡服务的可用性。

通过使用 Keepalived,可以确保 HAProxy 的高可用性。如果主要的 HAProxy 服务器出现故障,Keepalived 将自动将 VIP 迁移到备用服务器上,从而确保服务的连续性。想要了解如何使用该方案,请参考 HAProxy 文档。

运行

EMQX

# 启动
./bin/emqx start## 查看集群状态
./bin/emqx_ctl cluster statusCluster status: #{running_nodes =>['emqx@node1.emqx.com','emqx@node2.emqx.com'],stopped_nodes => []}

HAProxy

sudo service haproxy start

此时便可以通过 18083 访问 dashboard

通过 1883 连接到集群,连接情况可以在 dashboard 查看,或者在节点上执行命令

 ./bin/emqx_ctl clients list

证书

如果需要 TLS 终结,先准备好 emqx.key 和 emqx.crt 文件,然后合并生成 emqx.pem 文件

cat emqx.crt emqx.key > emqx.pem

然后添加以下配置即可

frontend frontend_emqx_tcpbind *:8883 ssl crt /opt/certs/emqx.pem no-sslv3option tcplogmode tcpdefault_backend backend_emqx_tcp

至此,我们完成了基于 HAProxy 搭建 EMQ X 集群以及使用,HAProxy 更详细的使用参见 HAProxy Documentation。

参考

基于 HAProxy 搭建 EMQ X 集群

用 HAProxy 负载均衡 EMQX 集群 | EMQX 5.8 文档

集群负载均衡 | EMQX 5.8 文档

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

相关文章:

  • 定制型网站建设推广redis wordpress 提速
  • 最好的商业网站化妆培训网站 源码
  • 华为ENSP——OSPF的基本配置实验
  • 网站建设公司如何企业网站群建设的原因
  • 万网没备案怎么做网站自己怎么做网站赚钱吗
  • 制作网站地图软件开发定制app
  • 网站建设先进技术手机app制作公司郑州
  • 手机短视频网站的建设模型网站
  • 福州网站开发私人富阳房产网
  • 广西钦州网站建设网页设计师需要学什么课程
  • 广州网站设计培训云南网络营销推广
  • 蓝牙技术栈笔记(2)
  • Java接入火山引擎快速体验
  • 求一个dw做的网站企业网站建设资金预算表
  • 企业 网站备案 法人购物网站前台模板
  • 58同城盐城网站建设网站建设违约责任
  • asp网站上传重庆网站建设leco tec
  • 要服务网站建设wordpress顶部加横幅
  • 自己怎么做返利网站什么软件做美食视频网站
  • 企业品牌网站建设怎么做宁夏省住房城乡建设厅网站
  • 分享影视资源的网站怎么做青岛网站建设选圣城
  • 雄安微网站开发北京做网站设计公司
  • 营销网站建设企业asp网站安全怎么做
  • 建设银行网站官网h5设计是什么
  • 个人网站维护费用百度知道怎么赚钱
  • 官方网站如何建设网址导航建站
  • 手机网站制作公司报价wordpress 社交网站吗
  • 自己买服务器能在wordpress建网站国外校园网站建设分析
  • 网站建设 参照 标准规范网页制作与设计先学什么
  • 免费中英文网站模板重庆设计有限公司