# RabbitMQDemo2 **Repository Path**: gitmlc/RabbitMQDemo2 ## Basic Information - **Project Name**: RabbitMQDemo2 - **Description**: 3、发布订阅 4、路由模式 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-17 - **Last Updated**: 2022-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RabbitMQDemo2 #### 介绍 1、简单队列,功能:一个生产者P发送消息到队列Q,一个消费者C接收 2、工作队列,能者多劳 3、发布订阅 4、路由模式 5、主题模式 #### 软件架构 软件架构说明 3、发布/订阅模式Publish/Subscribe: 这个可能是消息队列中最重要的队列了,其他的都是在它的基础上进行了扩展。 功能实现:一个生产者发送消息,多个消费者获取消息(同样的消息),包括一个生产者,一个交换机,多个队列,多个消费者。 思路解读(重点理解):  (1)一个生产者,多个消费者 (2)每一个消费者都有自己的一个队列 (3)生产者没有直接发消息到队列中,而是发送到交换机 (4)每个消费者的队列都绑定到交换机上 (5)消息通过交换机到达每个消费者的队列 该模式就是Fanout Exchange(扇型交换机)将消息路由给绑定到它身上的所有队列 以用户发邮件案例讲解 注意:交换机没有存储消息功能,如果消息发送到没有绑定消费队列的交换机,消息则丢失。 4、路由模式RoutingKey: 生产者发送消息到交换机并指定一个路由key,消费者队列绑定到交换机时要制定路由key(key匹配就能接受消息,key不匹配就不能接受消息) 例如:我们可以把路由key设置为insert ,那么消费者队列key指定包含insert才可以接收消息,消费者队列key定义为update或者delete就不能接收消息。很好的控制了更新,插入和删除的操作。 采用交换机direct模式 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)