rabbitmq两大核心组件:Exchange、Queue
direct Exchange: 直接交互式处理路由键,需要将一个队列绑定到交换机上,要求该消息队列与一个特定的路由键完全匹配,这时一个完全匹配。
Fanout Exchange: 广播式路由键,只需要将简单的消息队列绑定到交换机上,然后每台子网内的主机都会获得一份复制的消息。
Topic Exchange:主题式交换器,通过消息的路由关键字和绑定关键字的模式匹配。将消息路由到被绑定的队列中。这种类型可以用来支持经典的发布/订阅消息传输模式。使用主题名字空间作为消息寻址模式,将消息传递给那些部分或者完全匹配主题的多个消费者。
一般情况下rabbitmq默认配置已经足够。要特殊设置有两个地方(默认这两个文件没有的,需要自己创建):
1、环境变量配置文件:rabbitmq-env.conf
文件位置式确定和不能改变的,在/etc/rabbitmq目录下(需要自建目录)。
RABBITMQ_NODE_IP_ADDRESS: 指定IP地址
RABBITMQ_NODE_PORT: 指定端口号,默认5672
RABBITMQ_CONFIG_FILE: 配置文件路径,配置文件后缀名必须式.config
RABBITMQ_LOG_BASH: 日志文件路径
2、配置信息的配置文件: rabbitmq.config
这时一个标准的erlang文件。必须要符合erlang配置文件标准。erlang tuple,结构为(key,value),key为atom类型,value式一个term。其中几个关键参数:
tcp_listerners 设置rabbitmq的监听端口,默认5672
disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据。
vm_memory_high_watermark 设置内存低水位线,若低于该水位线,则开启流控机制,默认值式0.4,即内存总量的40%。
Rabbitmq命令介绍:
rabbitmqctl add_vhost vhostname 创建vhost
rabbitmqctl delete_vhost vhostname 删除vhost
rabbitmqctl list_vhost 遍历所有虚拟主机信息
rabbitmqctl add_user username password 添加用户名和密码
rabbitmqctl change_password username newpassword 修改用户密码
rabbitmqctl set_permission -p v_host user ".*" ".*" ".*" 绑定权限,并具备读写的权限。
rabbitmqctl list_queues 显示所有的队列