Rabbit MQ
Rabbit MQ
(1)服务配置过程:
(2)安装完成后,对MQ的激活。
(3)重启服务:
(4)创建用户名、密码以及配置权限等
Guest账户只能用于本地连接,配置文件中节点
二、各类型参数了解、数据如何在server中持久化等特点。
其中主要理解Ribbit MQ 中
虚拟主机
路由器 exchange :作用接收消息到绑定的队列中去
交换机的四种类型
转发消息到绑定的队列。四种类型:direct, topic, headers and fanout
队列 queue
注意:如果发送消息到没有绑定队列的交换机上面,会造成消息丢失
特点:一个交换机可以绑定多个队列,一个队列可以被多个交换机绑定。
不同类型的交换机不能同名,也就是说一个名字的交换机只能有一种类型。
交换器的属性:
- 持久性:如果启用,交换器将会在server重启前都有效。
- 自动删除:如果启用,那么交换器将会在其绑定的队列都被删除掉之后自动删除掉自身。
- 惰性:如果没有声明交换器,那么在执行到使用的时候会导致异常,并不会主动声明。
生产者:产生消息方
队列:不受任何限制
消费者:使用消息方
以上都可以不在一台服务器上。
传递的消息格式为二进制。
再需要对数据的类型进行转换才能投递。
注意:消息不会直接发送给队列,而是先要通过交换机。
发送方和接收方是可以对立存在的,所以当发送完消息后可以关闭
发送方对RabbitMQ server的链接。
网页RabbitMQ提供如下功能:
RabbitMQ使用的数据库mnesia
自带可编辑器启用方式
如下为启动数据库mnesia
Rabbit MQ 是捆绑的内置DataBase 不能替换
如下:
需要学习:如何使用Rabbit MQ 自带Database
Rabbit mq db存放位置。
很重要的配置文件:但在windows环境下面此文件是不存在的。
只能通过命令:rabbitmqctl environment 进行显示。
集群配置
错误问题:
原因是配置文件,没有写好,造成。
enabled_plugins
RABBITMQ_BASE
D:\MQDB\Data\rabbit
创建文件
Environment
集群搭建必须关闭防火墙
搭建集群成功后如图:
一台挂掉
集群中必须要做镜像。
不然不能同步数据
步骤:
当其中一个垮了,那么另外一个就会映射。
如何寻找一个实际环境对Rabbit MQ进行运用。
MQ的另外的用途:
对于不需要及时响应的程式比较有实用价值,可以把后台工作比较繁重的部分进行分离。
思路: EC系统Send EDI 部分逻辑,发送EDI user出发按键,记录单号信息到Datatable中
转换为byte[] 进行传输到MQ 服务器。 后台再写个服务,读取MQ队列中的数据,进行发送报文,回传SAP,更新DB。等复杂操作。
目前异常如下:
可能出现的问题:1、如果有一个消息处理不成功会造成堵塞。
2、消息如果过多,需要多开客户端进行分开处理,不然会形成消息积压。
3、erlang语言不熟悉,如果出现内部异常无法进行排查。