1.一般两种模式:点对点(P2P,Point-to-Point)模式 和 发布/订阅(Pub/Sub)模式。
2.发布/订阅模式:将消息发布到某个主题,而消息订阅者则从主题中订阅消息。(消息一对多广播模式),现主流消息中间件(RabbitMQ 、Kafka、ActiveMQ 、RocketMQ)
3.消息中间件的作用:1.解耦 2.冗余〈存储) 3.扩展性 4.削峰 5.可恢复性 6.顺序保证 7.缓冲 8.异步通信
4.RabbitMQ 是采用Erlang 语言实现AMQP (Advanced Message Queuing Protocol ,高级消息队列协议)的消息中间件
5.RabbitMq的具体特点可以概括为以下几点。
(1)可靠性: RabbitMQ 使用一些机制来保证可靠性, 如持久化、传输确认及发布确认等。
(2)灵活的路由: 在消息进入队列之前,通过交换器来路由消息。对于典型的路由功能,RabbitMQ 己经提供了一些内置的交换器来实现。针对更复杂的路由功能,可以将多个交换器绑定在一起, 也可以通过插件机制来实现自己的交换器。
(3)扩展性: 多个RabbitMQ 节点可以组成一个集群,也可以根据实际业务情况动态地扩展集群中节点。
(4)高可用性: 队列可以在集群中的机器上设置镜像,使得在部分节点出现问题的情况下队列仍然可用。
(5)多种协议: RabbitMQ 除了原生支持AMQP 协议,还支持STOMP , MQTT 等多种消息中间件协议。
(6)多语言客户端:RabbitMQ 几乎支持所有常用语言,比如Java、Python 、Ruby 、PHP 、C# 、JavaScript 等。
(7)管理界面: RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息、集群中的节点等。
(8)插件机制: RabbitMQ 提供了许多插件, 以实现从多方面进行扩展,当然也可以编写自
己的插件。
6.安装Erlang:
第一:/opt/erlang 目录下(http://www.erlang.org/downloads下载):
# tar zxvf otp_src_19.3.tar.gz
# cd otp src 19.3
# ./configure --prefix=/opt/erlang
第二:安装ncurses:
# yum install ncurses-devel
第三:安装Erlang
# make
# make install
第四步, 修改/etc/profile 配置文件, 添加下面的环境变量:
ERLANG HOME=/opt/erlang
export PATH=$PATH:♀ERLANG HOME/bin
export ERLANG_HOME
最后执行如下命令让配置文件生效:
# source /etc/profile
验证:
# erl
7.RabbitMQ 的安装
官网下载地址: http://www.rabbitmq.comlreleases/rabbitmq-server/下载
# tar zvxf rabbitmq-server- generic-unix-3.6.10 . tar . gz -c lopt
# cd /opt
# mv rabbitmq_server-3 . 6.10 rabbitmq
同样修改/etc/profile 文件, 添加下面的环境变量:
export PATH=$PATH : /opt/rabbitmq/sbin
export RABBITMQ HOME=/opt/rabbitmq
生效:# source/etc/profile
8.RabbitMQ 的运行
# rabbitmq-server -detached ("-detached" 让RabbitMQ服务以守护进程的方式在后台运行,Shell 窗口的关闭不影响服务。)
# rabbitmqctl status (查看是否启动正常)
# rabbitmqctl cluster_status (查看集群信息)
最后,希望本文对你有帮助,领个红包吧!