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

做带v头像的网站wordpress 目录布局

做带v头像的网站,wordpress 目录布局,苏州企业服务平台,做网站为什么要建站点目录 引言 一、环境准备 二、利用虚拟机搭建 ​ 三、镜像集群配置 四、HAProxy实现负载均衡(主用虚拟机操作) 五、测试RabbitMQ集群搭建情况 引言 在现代分布式系统中,消息队列(Message Queue)扮演着至关重要的角色,而 RabbitMQ 作为…

目录

        引言

        一、环境准备

        二、利用虚拟机搭建

​        三、镜像集群配置

        四、HAProxy实现负载均衡(主用虚拟机操作)

        五、测试RabbitMQ集群搭建情况


        引言

在现代分布式系统中,消息队列(Message Queue)扮演着至关重要的角色,而  RabbitMQ 作为最流行的开源消息代理之一,广泛应用于异步通信、任务队列、事件驱动架构等场景。然而,单节点的 RabbitMQ 存在单点故障(SPOF, Single Point of Failure)风险,一旦宕机,整个消息系统就会瘫痪。因此, 搭建 RabbitMQ 集群 成为保障系统高可用性(High Availability, HA)和负载均衡(Load Balancing)的关键措施。
        为了保证MQ 中间件的可靠性、并发性、吞吐量,在生产环境上一般都会考虑使用 RabbitMQ 的集群方案。当然本搭建过程只是用于测试阶段,如用于上线产品,需要更严格的搭建流程。

        一、环境准备

本搭建过程搭建需要四台虚拟机,同时他们都已经安装了相同版本的RabbitMQ,我建议是由一台主用虚拟机,克隆复制出另外三台。完成后如下:
使用远程连接工具:finalshell

        二、利用虚拟机搭建

        这里利用我本地的虚拟机模拟三台真实的机器

服务器信息表:

IP地址主机名操作系统
192.168.93.135rabbitmq01CentOS7(64位)
192.168.93.136rabbitmq02CentOS7(64位)
192.168.93.137rabbitmq03CentOS7(64位)

        进行下一步前可以在本地windows的cmd中测试ping一下上面的三个虚拟机的IP地址。如果都能ping通,那可以进行下一步。

        (1)下面修改三台机器的hosts配置文件,为了方便机器间的相互访问,三台centos都执行 vim /etc/hosts , 添加下边的配置,依次执行:

#将三台机器上hosts都修改内容如下
vim /etc/hosts192.168.93.135 rabbitmq01
192.168.93.136 rabbitmq02
192.168.93.137 rabbitmq03#通过ping命令看主机名是否生效
ping rabbitmq02#修改三台主机的主机名 vim /etc/hostname
#修改主机名会导致这台主机上RabbitMQ的数据丢失,可以只改后两台主机名,或者修改前备份
#rabbitmq01 修改为 rabbitmq01.localdomain
#rabbitmq02 修改为 rabbitmq02.localdomain
vim /etc/hostname#然后重启每台机器
reboot

        对应修改如下:

        (2)如果上述都已准确完成,进行下一步:

        保持三台机器的.erlang.cookie 内容一致
        这个cookie 存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是 400 的权限
        必须保证各节点cookie 一致 , 才能使节点之间相互通信
        例如: 全部使用 rabbitmq01 /.erlang.cookie
#查看rabbitmq01的.erlang.cookie
cat erlang.cookie#修改rabbitmq02和rabbitmq03的.erlang.cookie
vim /var/lib/rabbitmq/.erlang.cookie#该文件是只读的,加上写权限
chmod u+w /var/lib/rabbitmq/.erlang.cookie
vim /var/lib/rabbitmq/.erlang.cookie

        将另外两台都改成与这一样的即可。

        最后启动三台机器上的rabbitMQ服务

#每台机器的RabbitMQ服务的访问地址和控制台的访问地址分别是
#192.168.93.135:5672     192.168.93.135:15672
#192.168.93.136:5672     192.168.93.136:15672
#192.168.93.137:5672     192.168.93.137:15672#启动RabbitMQ服务
service rabbitmq-server start

        (3)rabbitmq02,rabbitmq03作为内存节点加入rabbitmq01节点集群中

        开放端口:

#这里需要开放25672和4369
firewall-cmd --zone=public --add-port=25672/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reloadfirewall-cmd --zone=public --add-port=4369/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

        在进行操作:

#在rabbitmq02机器下执行
#停掉rabbit应用
rabbitmqctl stop_app #加入rabbitmq01
rabbitmqctl join_cluster --ram rabbit@rabbitmq01#启动rabbit应用
rabbitmqctl start_app#查看所有节点状态
rabbitmqctl cluster_status

        最后查看所有节点状态时:

到此:

        三、镜像集群配置

        上面已经完成RabbitMQ 默认集群模式,但并不保证队列的高可用性,尽管队列 , 交换机 , 绑定这些可以复制到集群里的任何一个节点,但是队列内容不会复制.
        为了保证队列中的内容也能复制, 要使用镜像队列 , 镜像队列再添加一些策略。

        在网页上打开三个虚拟机的任意一个RabbitMQ的控制台,按照以下添加策略:

        当然如果不想用上面的方式,可以执行下面一行命令来完成操作(任意虚拟机即可):

策略参数解读:# ha-all:为策略名称;
# ^my:为匹配符,只有一个^代表匹配所有,^abc为匹配名称以abc开头的queue或exchange,^.则
匹配所有
# ha-mode:为同步模式,一共3种模式:
# all-所有(所有的节点都同步消息),
# exctly-指定节点的数目(需配置ha-params参数,此参数为int类型比如2,在集群中随机
抽取2个节点同步消息)
# nodes-指定具体节点(需配置ha-params参数,此参数为数组类型比如
["rabbit@rabbitmq01","rabbit@rabbitmq02"],明确#指定在这两个节点上同步消息)。
# ha-sync-mode
#ha-sync-mode=manual(默认),镜像队列中的消息不会主动同步到新节点,除非显式调用同步命令,
调用同步命令后,队列开始阻塞,无法对其进行操作,直到同步完毕
#ha-sync-mode=automatic 新加入节点时会默认同步已知的镜像队列#执行该命令等效于上面的页面添加策略操作
rabbitmqctl set_policy ha-all "^." '{"ha-mode":"all","ha-sync-mode":"automatic"}'

测试:

#关闭rabbitmq01
rabbitmqctl stop_app

        四、HAProxy实现负载均衡(主用虚拟机操作)

        HAProxy提供高可用性、负载均衡以及基于 TCP HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案, 包括 Twitter Reddit StackOverflow GitHub 在内的多家知名互联网公司在使用。HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。 
安装HAProxy:
yum install -y haproxyhaproxy -v

看到下面则安装成功:

HAProxy /etc/haproxy/haproxy.cfg 中添加如下配置:
### haproxy 监控页面地址是:http://192.168.93.134:9188/haproxy_statuslisten admin_statsbind *:9188mode httplog 127.0.0.1 local3 errstats refresh 60sstats uri /haproxy_statusstats realm welcome login\ Haproxystats auth admin:123456     ##记得改成自己的账号和密码stats hide-versionstats admin if TRUE### rabbitmq 集群配置,转发到listen rabbitmq_clusterbind *:5672mode tcpbalance roundrobinserver rabbitnode1 192.168.93.135:5672 check inter 2000 rise 2 fall 3 weight 1server rabbitnode2 192.168.93.136:5672 check inter 2000 rise 2 fall 3 weight 1server rabbitnode3 192.168.93.137:5672 check inter 2000 rise 2 fall 3 weight 1

添加后:

完成上述的修改和配置后,启动

haproxy -f /etc/haproxy/haproxy.cfg

在网页上访问:http://192.168.93.134:9188/haproxy_status

看到下图,说明已经配置成功:

        可以看到三个虚拟机已经和HAProxy实现了负载均衡,当有信息发送到三台主机中的任意一个rabbitMQ时,尽管两外一台或两台出现宕机的情况,仍然不妨碍我们使用。

        五、测试RabbitMQ集群搭建情况

        完成上面的所有配置后,下面使用IDEA来连接RabbitMQ测试搭建情况:

        连接三台中任意一台虚拟机即可:

public class SimpleProducer {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂,并且设置RabbitMQ相关的连接参数ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost("192.168.93.135");connectionFactory.setPort(5672); //设置rabbitMq的默认端口   不修改可以不设置//connectionFactory.setUsername("admin");//connectionFactory.setPassword("123456");//connectionFactory.setVirtualHost("myVH");//2.根据连接工厂创建一个连接,根据这个连接创建一个channelConnection connection = connectionFactory.newConnection();Channel channel = connection.createChannel();//3.创建一个队列(Queue)//设置队列名、是否持久化、是否独占、是否被消费后自动删除、队列参数等等channel.queueDeclare("hello",true,false,false,null);//4.发布一条消息//设置交换机名称、routingKey、信息属性、消息内容channel.basicPublish("","hello",null,"Hello,World".getBytes());//5.释放资源channel.close();connection.close();}
}

发送信息后,查看任意页面:

        当故意关闭三台中的任意一台或两台虚拟机(模拟宕机)时,仍可以继续发送信息,再次启动“宕机”的虚拟机,会自动同步消息,应为三台机器已经构成一个集群,可以实现信息互相同步,当出问题时,信息会立刻同步到正常的机器上去,宕机修复后又可以同步,这里不再演示此过程。


文章转载自:

http://SYetRkYI.qfdmh.cn
http://sT0vZODH.qfdmh.cn
http://abHlgqrJ.qfdmh.cn
http://p5wO2lHE.qfdmh.cn
http://1BFCpzdB.qfdmh.cn
http://zitPDAMy.qfdmh.cn
http://GGLJXd90.qfdmh.cn
http://bAFxQrc0.qfdmh.cn
http://4SPeywuW.qfdmh.cn
http://j4qhq9dY.qfdmh.cn
http://QwRQg8gp.qfdmh.cn
http://CJDon6J5.qfdmh.cn
http://kqClt8Ck.qfdmh.cn
http://2hClSmdU.qfdmh.cn
http://HAxNG1DE.qfdmh.cn
http://VWl3l957.qfdmh.cn
http://xo0vSRYB.qfdmh.cn
http://MsVvcVAH.qfdmh.cn
http://A4yBUYaE.qfdmh.cn
http://DhKyAq3c.qfdmh.cn
http://atzbCnGx.qfdmh.cn
http://NqUUftvT.qfdmh.cn
http://bkMvQJSa.qfdmh.cn
http://FqPjqyTr.qfdmh.cn
http://c0aWL1tE.qfdmh.cn
http://0HgCrOQm.qfdmh.cn
http://SMQCkJEN.qfdmh.cn
http://FayI7CmN.qfdmh.cn
http://s5y9vYar.qfdmh.cn
http://80oSxB9Q.qfdmh.cn
http://www.dtcms.com/wzjs/774019.html

相关文章:

  • 企业网站设计专业好吗浙江企业在线
  • 刚开始做汽配网站要进货网站页面制作软件
  • 潍坊建设网站公司电话苏宁易购如何进行网站的建设和维护
  • 建筑设计自学网站四川集团网站建设
  • 全校网站建设与管理国外html5游戏网站
  • 怎么自己做微网站有服务器如何做网站
  • 网站做填充做网络写手赚钱的网站
  • 三元里网站建设wordpress写文章更新失败
  • 招商加盟网站建设目的自己怎么做网站模块
  • 建站园卖鞋子网站建设策划书
  • 企业网站的功能企业网络服务平台
  • 上海网站设计kinglink域名和网站的建设实训报告
  • 加强政务公开与网站建设app网站建设方案
  • 17网站一起做网店2018wordpress去除分类链接
  • 做网站卖东西企业注册公司流程
  • 想做网站找什么公司麻豆人文化活动策划有限公司
  • php 茶叶网站建设建筑工程招聘最新信息平台
  • 聊城九洲建设有限公司网站如何做别人网站镜像
  • 郑州免费网站建设在线seo推广软件
  • 注册网站需要什么手续中国十大搜索引擎排名
  • 织梦网站修改使用教程怎么做填表网站
  • 我有服务器怎么做网站网页制作工具的选择
  • 江门东莞网站建设好姑娘中文在线观看国语高清免费
  • 网站访客记录wordpress如何上传图片
  • 网站建设的目标和需求网站策划书市场分析2000字
  • 怎样取消2345网址导航山西seo
  • 网站建设与管理试卷网站描文本链接怎么做
  • 做网站文字编辑累吗网站优化排名首页
  • 威海市城乡建设局网站苏州网页制作设计
  • 软件汇墨子学院seo