消息队列,rabbitmq
主要用于解耦、削峰、异步等场景。
正文开始:
1、下载安装rabbitmq
rabbitmq时erlang语言编写的。运行环境需要erlang环境支持,所以先下载erlang并安装。Redhat系列系统上执行:yum install erlang.
下载安装rabbitmq,安装好erlang后,安装rabbitmq,执行yum install rabbitmq.
2、运行rabbitmq
防火墙放行端口
安装rabbitmq客户端插件
3、建立账号,分配虚拟主机权限
登录rabbitmq界面后,添加账号,添加虚拟主机,并为虚拟主机指定账号(相当于为账号分配权限--可以访问哪个虚拟主机vhost)
4、rabbitmq相关概念
rabbitmq主要涉及这么几个概念:生产者、交换机、队列、消费者。
5、rabbitmq常用几种发送消息方式
按照生产者把消息发送到队列还是交换机分为:
生产者将消息直接发送到队列,然后消费者去队列中取。此种方式的有工作模式、helloworld模式。
生产者将消息发送到交换机,然后消费者声明队列,并将队列绑定到交换机。此种方式的有发布/订阅模式、路由模式、Topics模式。
其中发布订阅模式:将队列绑定到交换机后,交换机把消息发送到其中一个注册的队列上去,只能由一个消费者消费;
路由模式:在将队列绑定到交换机时并指明路由,(在发布订阅基础上,添加了路由键),交换机把消息发送到路由一致的队列中去,这些消费者可以同时消费;
topics模式:在将队列绑定到交换机时指定路由通配符,(在路由模式基础上把路由键变成路由通配符),交换机把消息发送到可以路由到的队列中去,这些消费者可以同时消费。
6、与spring集成
spring支持rabbitmq,添加依赖,使用spring封装的rabbitmq的模板进行操作。
主要对象和步骤:rabbitmq连接工厂、rabbitmq操作模板、队列、交换机、conform回调、ack确认回调等。
7、待续
初次了解,记录下来,文章中可能有错误,欢迎指出~