【SSM分布式架构电商项目-26】RabbitMQ安装和设置
商品数据同步问题
问题
后台系统中将商品修改,前台系统没有进行数据的同步,导致前端系统不能够实时显示最新的数据。
解决
后台系统中商品修改后向其他系统发送通知,其他系统做出对应的处理即可。
图解:
怎么通知?
1、 在前台系统中开发一个接口
2、 在后台系统中调用该接口
ApiService移动至taotao-common
实现数据同步存在的问题
通知的实现,代码的耦合度太高了。
之前的数据同步的实现:
1、 在前台系统开放接口
a) 该接口中完成将Redis中的数据删除
2、 后台系统在商品编辑、删除时调用该接口,即可实现商品数据的同步
该方案存在的问题: 系统间的耦合度太高了。
耦合度是指:其他团队的版本升级会影响到后端团队的版本升级。
商品的数据已经实现了和前台系统的同步,但是,搜索系统中索引数据没有和后台系统的数据同步,导致,后台系统的商品数据进行了更新,在搜索系统中搜索到的数据是旧的数据,也可以采用之前的方案解决,但是,因为系统间的耦合度太高了,所以不推荐使用该方案,所以需要使用MQ来解决该问题。
怎么解决? – 使用消息队列解决(MQ)。
RabbitMQ
RabbitMQ的简介
开发语言:Erlang – 面向并发的编程语言。
AMQP
AMQP是消息队列的一个协议。
官网
以前的截图:
MQ的其他产品
以前的截图:
学习5种队列
搭建RabbitMQ环境
下载
下载地址:http://www.rabbitmq.com/download.html
windows下安装
安装Erlang
下载:http://www.erlang.org/download/otp_win64_17.3.exe
安装:
错误:
安装RabbitMQ
安装完成。
启动、停止、重新安装等。
安装的注意事项
1、 推荐使用默认的安装路径
2、 系统用户名必须是英文
3、 计算机名必须是英文
4、 系统的用户必须是管理员
启用管理工具
1、 点击
2、 输入命令:
rabbitmq-plugins enable rabbitmq_management
3、 在浏览器中输入地址查看:http://127.0.0.1:15672/
4、 使用默认账号登录:guest/ guest
管理界面中的功能
添加用户
用户角色
1、 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2、 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
3、 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4、 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
5、 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
创建Virtual Hosts
设置权限: