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

给我一个网站吧开发门户网站多少钱

给我一个网站吧,开发门户网站多少钱,有趣的网站代码,淮南定制网站建设公司1.RabbitMQ高可用集群方案 #xff08;1#xff09;RabbitMQ搭建集群的作用#xff1a;提高可用性、可靠性和处理能力#xff0c;确保系统提供高效的消息传递服务 高可用性#xff1a;通过集群#xff0c;即使其中一个节点发生故障#xff0c;其他节点仍然可以继续提供…1.RabbitMQ高可用集群方案 1RabbitMQ搭建集群的作用提高可用性、可靠性和处理能力确保系统提供高效的消息传递服务 高可用性通过集群即使其中一个节点发生故障其他节点仍然可以继续提供服务确保消息的可靠传递。负载均衡集群可以将消息负载均匀地分布到多个节点上提高系统的处理能力同时避免单个节点过载。故障恢复如果集群中的一个节点发生故障可以通过故障检测和自动恢复机制将该节点从集群中移除并将其负载重新分配给其他节点保证整个系统的连续性和可用性。扩展性当消息的产生量和消费量逐渐增加时可以向集群中添加更多的节点来扩展系统的处理能力以应对不断增长的负载。 2常见的集群方案 RabbitMQ普通集群 默认的集群模式, 比如有节点 node1和node2 两个节点是普通集群但他们仅有相同的元数据,即交换机、队列的结构消息只存在其中的一个节点里面假如消息A存储在node1节点消费者连接node1个节点消费消息时可以直接取出来但如果 费者是连接的是其他节点 那rabbitmq会把 queue 中的消息从存储它的节点中取出并经过连接节点转发后再发送给消费者假如node1故障那node2无法获取node1存储未被消费的消息如果node1持久化后故障那需要等node1恢复后才可以正常消费如果ndoe1没做持久化后故障那消息将会丢失这个情况无法实现高可用性且节点间会增加通讯获取消息性能存在瓶颈该模式更适合于消息无需持久化的场景如日志传输的队列 RabbitMQ镜像集群 队列做成镜像队列让各队列存在于多个节点中和普通集群比较大的区别就是【队列queue的消息message 】会在集群各节点之间同步且并不是在 consumer 获取数据时临时拉取而普通集群则是临时从存储的节点里面拉取对应的数据实现了高可用性部分节点挂掉后不影响正常的消费可以保证100%消息不丢失推荐3个奇数节点结合LVSKeepalive 或 Haproxy进行IP漂移防止单点故障由于镜像队列模式下消息数量过多大量的消息同步也会加大网络带宽开销适合高可用要求比较高的项目 过多节点的话性能则更加受影响 2.RabbitMQ高可用集群架构 将两个 RabbitMQ 磁盘节点和一个 RabbitMQ内存节点组成一个内建集群之所以要用两个磁盘节点是防止唯一的磁盘节点挂掉后不能重建队列交换机。用 HAProxy 作为 RabbitMQ 集群的负载均衡。为了防止 HAProxy 单点故障用 Keepalived 将两个 HAProxy 节点做成一主一备。应用使用 VIP虚拟IP 访问 HAProxy 服务时默认连接主机Master的 HAProxy当主机Master上的 HAProxy 故障时VIP 会漂移到备机Backup上就会连接备机Backup上的 HAProxy 服务。 VRRP 协议 VRRP 协议即虚拟路由冗余协议Virtual Router Redundancy Protocol。Keepalived 中提供的虚拟 IP 机制就属于 VRRP它是为了避免路由器出现单点故障的一种容错协议。 3.RabbitMQ高可用集群搭建 1机器准备 IP地址主机名备注192.168.140.101mq01磁盘节点 RabbitMQ192.168.140.102mq02内存节点 keepalivedhaproxyRabbitMQ192.168.140.103mq03内存节点 keepalivedhaproxyRabbitMQ 2三台机器docker部署RabbitMQ 参数说明 --hostname自定义Docker容器的hostname --privilegedtrue使用该参数container内的root拥有真正的root权限否则容器出现permission denied -v宿主机和容器路径映射 RABBITMQ_ERLANG_COOKIEErlang Cookie 值同一个集群内该值必须相同相当于不同节点之间通讯的密钥 --add-host修改容器内部的hosts添加的集群服务器都需要添加进来 --restartunless-stopped docker 容器重启后重启MQ节点一 docker run -d --hostname rabbitmq1 --add-hostrabbitmq2:192.168.140.102 --add-hostrabbitmq3:192.168.140.103 --restartunless-stopped --name rabbitmq1 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -e RABBITMQ_ERLANG_COOKIErabbit_mq rabbitmq:management节点二 docker run -d --hostname rabbitmq2 --add-hostrabbitmq1:192.168.140.101 --add-hostrabbitmq3:192.168.140.103 --restartunless-stopped --name rabbitmq2 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -e RABBITMQ_ERLANG_COOKIErabbit_mq rabbitmq:management节点三 docker run -d --hostname rabbitmq3 --add-hostrabbitmq1:192.168.140.101 --add-hostrabbitmq2:192.168.140.102 --restartunless-stopped --name rabbitmq3 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -e RABBITMQ_ERLANG_COOKIErabbit_mq rabbitmq:management节点一配置集群。 docker exec -it rabbitmq1 bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app exit节点二加入集群–ram是以内存方式加入,忽略该参数默认为磁盘节点。 docker exec -it rabbitmq2 bash rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbitrabbitmq1 rabbitmqctl start_app exit节点三加入集群–ram是以内存方式加入,忽略该参数默认为磁盘节点。 docker exec -it rabbitmq3 bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbitrabbitmq1 rabbitmqctl start_app exit查看集群节点状态,配置启动了3个节点1个磁盘节点和2个内存节点。 rabbitmqctl cluster_status内存节点ram将元数据都放在内存里内存节点的话只要服务重启该节点的所有数据将会丢失。硬盘节点disc将元数据都放在硬盘里所以服务重启的话数据也还是会存在的。 3搭建镜像集群 前面搭建了普通集群如果磁盘节点挂掉后如果没开启持久化数据就丢失了其他节点也无法获取消息。所以我们这个集群方案需要进一步改造为镜像模式集群。rabbitmq的策略policy是用来控制和修改集群的vhost队列和Exchange复制行为就是要设置哪些Exchange或者queue的数据需要复制、同步以及如何复制同步。 配置步骤rabbitmq管理页面 — Admin — Policies — Add / update a policy 策略会同步同一个VirtualHost中的交换器和队列数据 name自定义策略名称Pattern^ 匹配符代表匹配所有Definitionha-modeall 为匹配类型分为3种模式all表示所有的queueha-mode: 指明镜像队列的模式可选下面的其中一个 all表示在集群中所有的节点上进行镜像同步一般都用这个参数exactly表示在指定个数的节点上进行镜像同步节点的个数由ha-params指定nodes表示在指定的节点上进行镜像同步节点名称通过ha-params指定ha-sync-mode镜像消息同步方式 automatic自动manually手动 策略会同步同一个VirtualHost中的交换器和队列数据在MQ节点一上创建队列同步到各个节点。 集群重启顺序 集群重启的顺序是固定的并且是相反的启动顺序磁盘节点 内存节点关闭顺序内存节点 磁盘节点最后关闭必须是磁盘节点否则容易造成集群启动失败、数据丢失等异常情况 4.Haproxy高可用集群搭建 1MQ集群的架构痛点 搭建了RabbitMQ高可用集群生产者和消费者业务代码里面需要写多个节点配置信息。 如果某个节点挂了或者新增了多个节点多个业务程序都需要重启更新配置信息。 可以利用Haproxy在RabbitMQ中充当负载均衡器的角色提供负载均衡、故障转移、可靠性和可用性增强以及动态伸缩等功能。 2创建配置文件 分别在102和103节点上创建目录/usr/local/haproxy 创建配置文件haproxy.cfg #增加下面配置文件 globallog 127.0.0.1 local0 infomaxconn 10240daemondefaultslog globalmode httptimeout connect 3000 timeout client 3000timeout server 3000timeout check 2000listen admin_stats#haproxy监控界面的访问的IP和端口 bind 0.0.0.0:8081mode httpstats uri /statsstats realm Global\ statistics#haproxy登陆帐户信息stats auth admin:adminlisten rabbitmq_admin#rabbit的监控页面bind 0.0.0.0:8082server rabbit_admin1 192.168.140.101:15672server rabbit_admin2 192.168.140.102:15672server rabbit_admin3 192.168.140.103:15672listen haproxy#对外提供的端口spring boot连接mq的端口bind 0.0.0.0:8091option tcplogmode tcpbalance roundrobinserver rabbitmq1 192.168.140.101:5672 check inter 5000 rise 2 fall 2server rabbitmq2 192.168.140.102:5672 check inter 5000 rise 2 fall 2server rabbitmq3 192.168.140.103:5672 check inter 5000 rise 2 fall 2配置文件详解 全局配置部分global- 设置日志输出目标为本地地址 127.0.0.1 的 local0 日志设备并设置日志级别为 info。- 设置最大连接数为 10240。- 启用后台运行模式。 默认配置部分defaults- 设置日志输出为全局设定的日志设备。- 指定工作模式为HTTP模式。- 设置连接超时时间为 3000 毫秒。- 设置客户端超时时间为 3000 毫秒。- 设置服务器超时时间为 3000 毫秒。- 设置健康检查超时时间为 2000 毫秒。 admin_stats 监听器- 监听 0.0.0.0:8081 地址和端口。- 使用HTTP模式。- 设置监控统计信息的路径为 /stats。- 设置统计信息页面的显示名称为 Global statistics。- 设置访问统计信息页面的认证用户名和密码为 admin:xdclass.net168。 rabbitmq_admin 监听器- 监听 0.0.0.0:8082 地址和端口。- 配置了三个RabbitMQ管理节点。- 每个节点的名称和地址:端口为 rabbit_admin1 120.24.7.58:15672、rabbit_admin2 120.24.7.58:15673 和 rabbit_admin3 120.24.7.58:15674。 haproxy 监听器- 监听 0.0.0.0:5666 地址和端口。- 启用TCP日志记录。- 使用TCP模式。- 使用轮询算法进行负载均衡。- 配置了三个RabbitMQ节点。- 每个节点的名称和地址:端口为 rabbitmq1 120.24.7.58:5672、rabbitmq2 120.24.7.58:5673 和 rabbitmq3 120.24.7.58:5674。- 设置了健康检查的参数每5000毫秒检查一次如果连续2次检查成功就认为节点上线如果连续2次检查失败则认为节点宕机。两台机器分别启动haproxy docker run -d -i --name haproxy-rabbitmq -p 8081:8081 -p 8091:8091 -p 8082:8082 -v /usr/local/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg --privilegedtrue -u root haproxy:latest 访问路径 Haproxy: http://192.168.140.103:8081/stats,http://192.168.140.102:8081/statsRabbitMQ管控台http://192.168.140.102:8082,http://192.168.140.103:8082 5.Keepalived高可用集群搭建 1102和103节点分别下载Keepalived #yum安装 yum -y install keepalived2编辑配置文件 ! Configuration File for keepalived global_defs {router_id LVS_DEVEL # 设置lvs的id在一个网络内应该是唯一的enable_script_security #允许执行外部脚本 } #配置vrrp_script主要用于健康检查及检查失败后执行的动作。 vrrp_script chk_real_server {weight -5fall 3rise 2user root } vrrp_instance VI_1 {#配置节点是master还是backup102配置MASTER103配置BACKUPstate MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}#配置虚拟IPvirtual_ipaddress {192.168.140.100} } virtual_server 192.168.140.100 8082 {# 设置健康检查时间单位是秒delay_loop 6# 设置负载调度的算法为rrlb_algo rr# 设置LVS实现负载的机制有NAT、TUN、DR三个模式lb_kind NAT# 会话保持时间persistence_timeout 50#指定转发协议类型(TCP、UDP)protocol TCP# 指定real server1的IP地址real_server 192.168.140.102 8082 {weight 1}real_server 192.168.140.103 8082 {weight 1} }3启动keepalived访问MQ集群 systemctl start keepalived.serviceOk发现已经成功的通过keepalived访问mq节点。 当我们把102主节点的keepalived停掉时虚拟IP会漂移到103的节点上。 OK至此RabbitMQ高可用集群就已经搭建完成了。 记得给博主三连哦
http://icebutterfly214.com/news/12188/

相关文章:

  • #20232329易杨文轩 2025-2026-1 《网络与系统攻防技术》 实验四实验报告
  • 2025 年塑料挤出设备厂家最新推荐榜单:深度甄选聚焦技术实力、客户认可及设备性能全方位测评塑料板材挤出设备/塑料挤出设备生产线/塑料管材挤出设备生产线公司推荐
  • 2025年度中国靠谱房地产模型公司排行:房地产模型服务商推荐
  • 2025年11月数控铣床厂家推荐排行榜:权威口碑与性能综合评测指南
  • 如何在百亿罚单警示下破局:DXC数据合规实践案例
  • 为什么 Spring Boot 3 要求 JDK 最低版本为 17?全面深度解析
  • 2025年中国高效油雾净化设备公司排名:油雾净化设备供应企业与服务商家权威测评与推荐
  • 企业级AI知识库到底能做什么?PandaWiki重新定义知识生产力
  • 一文掌握RMAN基础入门:核心概念、环境配置与命令格式全解析
  • UNI-APP设计电池电量显示
  • 2025 年 11 月皮拉尼真空计,单晶炉真空计厂家最新推荐,技术实力与市场口碑深度解析
  • fastp数据质控
  • 2025 年 11 月比色红外测温仪,感应加热红外测温仪,高性价比红外测温仪,单晶炉红外测温仪厂家最新推荐,技术实力与市场口碑深度解析
  • 2025年优秀的不锈钢管加工品牌厂家排行榜
  • 2025年别墅供暖厂家权威推荐榜单:别墅供暖锅炉/斯密锅炉/意大利斯密锅炉设备厂家精选
  • 2025年耐用的冲压机械手厂家推荐及采购参考
  • Vue3技术实践总结与未来展望
  • AWS | 解决白嫖绑定信用卡后一直扣费的问题
  • 2025 年陶土砖生产厂家最新推荐权威榜单:劈开 / 红色 / 干挂 / 砌筑 / 仿古 / 透气 / 耐火 / 异型 / 装饰 / 外墙陶土砖产品厂家及生产流程优势全面解读
  • 2025年11月太空舱出口生产厂家排行榜:口碑评价高的源头厂家对比
  • 2025年福田欧曼重卡销量深度解析:62.8%高增长背后的结构性跃迁
  • 2025年靠谱的杭州别墅大宅装修用户好评榜
  • 洛谷 P9236:异或和之和
  • 2025年口碑好的滚筒式单板烘干机厂家选购指南与推荐
  • 2025年淮安广联纸业:深度解析苏北纸链龙头的智造跃迁
  • 基于预估校算法的分数阶混沌系统Lyapunov指数计算
  • 2025年比较好的丝杆升降机平台用户好评厂家排行
  • 2025年比较好的高亮触摸一体机厂家最新推荐权威榜
  • 2025年口碑好的台球桌台布厂家最新权威推荐排行榜
  • 2025年耐用的铠装变形缝厂家推荐及选择指南