概述

项目的部分功能重构计划引入消息中间件,现将安装RabbitMQ以及通过SpringBoot集成的过程进行记录。

安装

本人使用环境:CentOS7
1.erlang安装

官网地址: https://www.erlang-solutions.com/resources/download.html
推荐按照Installation using repository指引安装,最后一步选择sudo yum install erlang

遇到的问题:
Q1:从官网下载rpm包为esl-erlang,安装RabbitMQ时需要依赖erlang,会报找不到依赖。

看官网解释是:
other packages have dependencies on "erlang", not "esl-erlang".
但未在官网找到erlang包下载页,在rabbit官网上看到推荐的下载地址:
https://bintray.com/rabbitmq-erlang/rpm/erlang
也无法访问(好像是在维护),所以直接通过仓库下载安装。

2.RabbitMQ安装

1)安装前注意版本要与erlang匹配
版本匹配:
http://www.rabbitmq.com/which-erlang.html
2)官网地址:
http://www.rabbitmq.com/install-rpm.html
推荐按Using Bintray Yum Repository指引安装
最后:sudo yum install rabbitmq-server.noarch
3)设置开机启动chkconfig rabbitmq-server on
4)关于修改数据库或日志地址要注意修改文件所属用户以及配置信息。Note: The server is set up to run as system user rabbitmq. If you change the location of the node database or the logs, you must ensure the files are owned by this user (and also update the environment variables).
5)使用web管理插件rabbitmq-plugins enable rabbitmq_management访问地址为服务器地址: 15672
6)默认用户 guest/guest (只能在本机访问),我们新建一个rabbitmqctl add_user admin admin设置下权限rabbitmqctl set_user_tags admin administrator

使用SpringBoot集成

1.引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2.配置信息

3.队列配置

4.发送工具类

5.接收者

6.测试

遇到的问题:
Q1:

Caused by: java.net.ConnectException: Connection timed out: connect

产生原因:未开启5672端口访问权限
解决方法:
不同环境修改防火墙限制方式不太一样,以cs7为例
firewall-cmd --permanent --add-port=5672/tcp
Q2:

Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'admin', class-id=10, method-id=40)

产生原因:新建的admin用户未授予访问权限

解决办法:
可以使用命令添加权限,但使用管理界面会更方便
点击用户列表上用户名,进入该用户详情页

添加访问权限就可以了。
这一小节主要参考spring-boot官方文档
Part IV. Spring Boot features
-->33 Messaging
-->33.2 AMQP

小结

这篇笔记内容比较少,只是简单的写了下安装与集成的过程。我想记录的其实是一个学习的思路,当遇到未接触过的技术想要尝试时,尽量按照官方文档进行安装,可以少走很多弯路。(毕竟现在翻译工具很发达,博客陈旧且多坑)sring-boot这种框架的存在让我们集成变得非常的简单。前人的努力使我们能更多的将精力放在研究技术本身,学习设计思想,以及与业务场景进行结合,更好的解决遇到的问题或提升用户体验。对于RabbitMQ的基础概念以及高级使用等我研究一段时间再写点笔记,当然也希望看到大佬们能多分享在项目中使用到的框架或中间件。结合业务场景的技术选型才是我等菜鸟更想要去了解的。感觉自己可能有些步骤走了弯路,望看到的大佬指出。有按上述步骤进行尝试的小伙伴也请将遇到的问题在下方留言,一起来解决。

RabbitMQ预研相关推荐

  1. 基于熵权法优劣解距离法_维普资讯中文期刊服务平台-基于改进TOPSIS方法的航空装备预研项目技术风险评估...

    摘 要:技术风险是引发费用风险和进度风险的主要因素,因此在航空装备的研制中需要重点管控和规避.为提供可靠的航空装备预研项目技术方案的选择依据,采用改进的TOPSIS方法对五种不同航空装备预研方案的技术 ...

  2. Android O 前期预研之一:Android Treble 计划

    Android O 前期预研 之前一直传言android O的推出会包含有两部分的主要功能: 谷歌打算彻底解决Android版本碎片化的问题,会在Android O上推出一个新的框架设计来解决这个这个 ...

  3. Android平台监听系统截屏方案预研及相关知识点

    最近有个针对系统截屏的需求,所以预研了Android平台上捕获系统截屏的方案. 最直接的方式就是监听手机的系统截屏组合键(电源键+音量下键),但是这种方式实现难度大,且有的机型使用特殊手势进行截屏,兼 ...

  4. robot ride edit 页面不显示_【框架】robot-framework预研

    隔壁组在使用robot framework进行自动化测试,这玩意之前我没接触过,决定来预研一下这个auto test框架. 背景 一个好的框架,背后少不了一个牛逼的团队或组织(金主爸爸),也是判断是否 ...

  5. ddr5内存上市时间_DDR5内存明年才能上市,SK Hynix已预研DDR6:12Gbps

    拼 命 加 载 中 ... 随着去年Q4季度DRAM芯片价格开始下跌,DDR4内存的价格已经有了松动,很多人还期待着8GB内存降回200多元的价格呢.现在的DDR4内存已经有了继任者--DDR5,标准 ...

  6. Flutter for Web 详细预研

    背景 Google在最新的Google I/O上推出了Flutter for Web,旨在进一步解决一次代码,多端运行的问题.Flutter for Web还处于早期试验版,官方不建议在生产环境上使用 ...

  7. 三大超算军团加速布局 中科曙光E级超算预研项目正式启动

    昨日,中科曙光在其举办的"2016中科曙光技术创新大会(IDIC2016)"上宣布,由其牵头的E级高性能计算机(简称"E级超算")原型系统项目正式发布. (E级 ...

  8. 电信物联网开放平台_NB-IoT业务对接 Java 后台、Android 前端已完成预研

    电信物联网开放平台_NB-IoT业务对接 Java 后台.Android 前端已完成预研 一.NB-IoT : 硬件设备 BC28模组 二.Java 后台: SSH集成电信物联SDK.极光推送SDK. ...

  9. H2O技术方案预研分析

    文章目录 一. 前言 二.预研结果分析 2.1 预研结论概述 2.2 可行性依据分析 2.2.1 功能需求满足分析

最新文章

  1. 软件:向工业互联网产业成功转型的关键
  2. shell命令卸载mysql_centos8中的MySQL卸载和安装
  3. 【控制】《现代控制理论》谢克明老师-第1章-控制系统的状态空间描述
  4. 从事仪表专业学c语言有用吗,测控专业就业方向有哪些 就业前景比你想象中的好...
  5. layer加载的页面偶尔出现空白_Layer-Cake 模式的设计
  6. JavaScript文档对象模型document对象改变Html元素内容(3)
  7. javascript中replace()
  8. OJ(Online Judge)系统及ACM测试题库大全
  9. js/a标签下载文件方法
  10. 发邮件向论文作者卑微求代码模板
  11. 系统流程图、数据流程图、IPO图和甘特图
  12. 华硕笔记本快捷键失效(例如fn+f5失效)
  13. CSDN小伙伴们苦苦寻找的最全的微软msdn原版windows系统镜像和office下载地址集锦
  14. 使用计算机的安全事项,电脑安全使用注意事项
  15. PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\langxu\\AppData\\Local\\Temp
  16. SparkCore:RDD累加器和广播变量(最详细的介绍)!!!!!!
  17. ubuntu软件的卸载
  18. 分类信息网和织梦搬家后报错Fatal error: Uncaught ArgumentCountError: Too few arguments to function AddFilter(), 3
  19. Vue鼠标移入(悬停)显示-移出隐藏
  20. 高新技术企业的优惠政策

热门文章

  1. 《linux多线程服务端编程》---- C++基础前奏
  2. 要怎样申请抖音蓝V认证?详谈蓝V认证的步骤
  3. 埃及法老也不知道的金字塔秘密
  4. Linux下破解神器(thc org hc-hydra
  5. 关于使用梆梆加固后,适配android5.0系统与64位机型的问题
  6. Re:从零开始的程序猿生活
  7. axios 的简单增删查改 使用json-server启动的josn
  8. 网贴翻译 聆听国外的声音
  9. 专业档案门类代码编码方案
  10. Python使用Eel和HTML开发桌面应用