Rabbitmq消息队列,消息服务器,消息中间件

       消息中间件Borker

         Rabbitmq

         Activemq

         Rocketmq(阿里)

         Kafka

         Tubemq(腾讯)

一、Rabbitmq

1.搭建虚拟机

VMware

版本:16.x

NAT网络的网段使用:192.168.64.0

编辑--虚拟网络编辑器--连接vmnet8--左下角修改  192.168.64.0

Rabbitmq消息队列,消息服务器,消息中间件_第1张图片

二、课前资料/ 虚拟机

centos-7-1908/centos-8-2105

已经做了基本配置

yun安装源,扩展源使用阿里服务器

安装了python、pip、ansible

添加了两个脚本文件,方便配置ip地址(ip-static固定ip/ip-dhcp自动获取ip)

1.解压centos-8-2105

2.双击 centos-8-2105.vmx 加载镜像

3.启动,按提示选择“已复制虚拟机”

4.登录用户名密码都是root

Rabbitmq消息队列,消息服务器,消息中间件_第2张图片

 如果网卡有问题,不能设置ip

# centos 7 禁用 NetworkManager 系统服务 systemctl stop NetworkManager systemctl disable NetworkManager

# centos 8 开启 VMware 托管 nmcli n on systemctl restart NetworkManager

Rabbitmq消息队列,消息服务器,消息中间件_第3张图片

如果网络还有问题,可以重置vmware的虚拟网络

编辑--虚拟网络编辑器--还原默认设置

还原默认设置会删除所有的虚拟网络,重新创建,重新初始化

三、准备docker环境

1.关闭centos-8-2105

2.克隆centos-8-2105: docker-base(docker基础环境)

3.mobaxterm连接docker-base 上传文件到/root/

       课前资料/DEVOps 课前资料/Docker/docker-install/  文件夹

4.参考CSDN docker离线安装笔记,从第三步开始安装,下一步下一步。。。

5. shutdown -h now 关机

Rabbitmq消息队列,消息服务器,消息中间件_第4张图片

 

Rabbitmq消息队列,消息服务器,消息中间件_第5张图片

 四、Docker 运行Rabbitmq

1.克隆docker-base :rabbitmq

2.设置ip

./ip-static

ip:192.168.64.140

ifconfig

3.上传rabbitmq文件镜像到/root/

      DevOps课前资料/Docker/rabbit-image.gz

4.导入镜像

docker load  -i  rabbit-image.gz

5.启动rabbitmq

        5.1.关闭防火墙 

systemctl stop firewalld
systemctl disable firewalld
 
# 重启 docker 系统服务
systemctl restart docker


 

      5.2配置管理员用户名和密码

mkdir /etc/rabbitmq
vim /etc/rabbitmq/rabbitmq.conf

# 添加两行配置:
default_user = admin
default_pass = admin

     5.3启动Rabbitmq

docker run -d --name rabbit \
-p 5672:5672 \
-p 15672:15672 \
-v /etc/rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf \
-e RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf \
--restart=always \
rabbitmq:management

      5.4

     访问管理控制台 http://192.168.64.140:15672
     用户名密码是 admin

五、RabbitMQ 使用场景

1.服务解耦

mq  message queue  数据吞吐量大,接收消息,让消息排队

feign调用,同步调用

mq实现异步调用,不需要等到后面消息返回再去执行别的。

六、rabbitmq六种工作模式

1.简单模式

只有一个消费者接收

Rabbitmq消息队列,消息服务器,消息中间件_第6张图片

Rabbitmq消息队列,消息服务器,消息中间件_第7张图片 

Rabbitmq消息队列,消息服务器,消息中间件_第8张图片 

Rabbitmq消息队列,消息服务器,消息中间件_第9张图片 

Rabbitmq消息队列,消息服务器,消息中间件_第10张图片

 

 Rabbitmq消息队列,消息服务器,消息中间件_第11张图片

交换机  空串默认是交换机

2.工作模式

多个消费者共享同一个队列。多个消费者轮询接收

Rabbitmq消息队列,消息服务器,消息中间件_第12张图片

 

设置多个服务器启动 

Rabbitmq消息队列,消息服务器,消息中间件_第13张图片 

 

多个消费者处理消息,当消费者在缺处理完之前,被处理掉,会被回执

Rabbitmq消息队列,消息服务器,消息中间件_第14张图片

 1.队列持久化(在生产者这里设置)

 

 

2.消息的持久化

 

你可能感兴趣的:(缓存,spring,sql)