同步调用存在的问题:


异步调用方案:


RabbitMQ安装:
第一种:在线拉取 docker pull rabbitmq:3-management
第二种:将已有的安装包放入再用load加载

我这里放到tmp包里边
然后:cd /tmp
docker load -i mq.tar 加载进去

然后运行mq容器
docker run \
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \ 这是两个环境变量
--name mq \ 容器的名字
--hostname mq1 \ 配置主机名 集群部署的话一定要加
-p 15672:15672 \ 开放的第一个端口 时RabbitMQ管理平台的端口 有ui界面可以用
-p 5672:5672 \ 开放的第二个端口 用来做消息通讯
-d \ 后台运行
rabbitmq:3-management 镜像的名字
RabbitMQ的结构和概念:
RabbltMQ的几个概念:

常见的消息模型:
没有交换机的两种:
基本消息队列(BasicQyeue),
工作消息队列(workQueue).

发布订阅-有交换机的三种:
广播:Fanout Exchange,
路由:Direct Exchange,
主题:Topic Exchange.