# springboot-learning **Repository Path**: dai15/springboot-learning ## Basic Information - **Project Name**: springboot-learning - **Description**: SpringBoot的学习案例 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springboot-learning ## SpringBoot整合rabbitMq ### rabbitMq的介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC的调用等等。 重要概念: 1. 交换器(Exchange):一般的消息队列有三个重要的概念。消息接受者、消息存储队列、消息发送者。rabbitMq在此基础上引入了交换器(Exchange)的概念。这样消息就不会直接发送到消息的存储队列,而是先将消息发送到交换器,在交换器上可能会绑定一些调度策略,这样交换器就可以根据调度策略将消息转发到存储队列中,从而避免了发送者和队列的直接交互。 2.交换器的类型:Direct类型、Topic类型、Headers类型和Fanout类型。 3.RoutingKey:绑定在交换器上,上面规定了一些路由规则,即将交换器中的消息转发到那个队列中。 架构图 ![输入图片说明](https://images.gitee.com/uploads/images/2019/1204/170640_1a342ced_5447470.png "屏幕截图.png") ### rabbitMq的安装 1. 下载安装Eralng(rabbitMq是基于Eralng开发,需要Eralng的开发环境) 2. 下载并安装RabbitMq(双击即可) 3. 安装管理界面,进入rabbitMQ安装目录的sbin目录,输入命令 `rabbitmq‐plugins enable rabbitmq_management` 4. 重新启动服务 5. 打开浏览器,地址栏输入http://127.0.0.1:15672 ,即可看到管理界面的登陆页 ![输入图片说明](https://images.gitee.com/uploads/images/2019/1204/171706_716b649c_5447470.png "屏幕截图.png") 6. 输入用户名和密码,都为guest 进入主界面: ### rabbitMq的整合 具体内容看代码(springboot-rabbitmq模块,其中只测试了直接模式和分列模式(fanout)) #### 参与贡献 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/)