客户端
MQ | 客户端名称 | 文档地址 |
Kafka | confluent-kafka-dotnet | https://github.com/confluentinc/confluent-kafka-dotnet/wiki |
RabbitMQ | EasyNetQ | https://github.com/EasyNetQ/EasyNetQ/wiki/Introduction |
RabbitMQ单节点部署
安装
yum install -y rabbitmq-server
开放相关端口
firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=5672/tcp firewall-cmd --reload
启动服务
service rabbitmq-server start
设置开机启动
chkconfig rabbitmq-server on
启动web管理界面
rabbitmq-plugins enable rabbitmq_management
增加访问admin用户,默认用户guest只能本地访问。
rabbitmqctl add_user admin 123456
设置admin用户为管理员角色
rabbitmqctl set_user_tags admin administrator
设置默认admin用户访问权限
rabbitmqctl set_permissions -p "/" admin "." "." ".*"
重启服务
service rabbitmq-server restart
浏览器访问:http://IP:15672
RabbitMQ镜像集群部署
1.所有实例都需要执行以上单实例部署的命令
2.所有实例服务器的打开相关端口
firewall-cmd --permanent --add-port=59984/tcp firewall-cmd --permanent --add-port=25672/tcp firewall-cmd --permanent --add-port=4369/tcp firewall-cmd --reload
3.在每台服务器添加其他rabbitmq 实例服务的hosts映射
#修复服务器hosts文件 vim /etc/hosts 192.168.88.138 server-a 192.168.88.139 server-c 先查看集群信息 rabbitmqctl cluster_status
4.同步erlang cookie
在server-c(192.168.88.139)执行远程拷贝到server-a(192.168.88.138)
rabbitmqctl stop
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.88.138:/var/lib/rabbitmq/.erlang.cookie rabbitmq-server -detached
5.server-c加入RabbitMQ集群
rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@server-a rabbitmqctl start_app
6.设置镜像队列策略
#任意节点执行
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
7.安装HAProxy并启动
在服务器server-b执行下面命令:
yum install haproxy -y service haproxy start chkconfig haproxy on vim /etc/haproxy/haproxy.cfg