本文共 1480 字,大约阅读时间需要 4 分钟。
想写这篇文章很久了,今天终于有时间总结一下,一个大型的系统里,消息中间件是必不可少的,它将并发环境处理的数据异步进行处理,有效的提高了系统的并发能力,有很多系统的瓶颈点都在于此,而消息中间件在这个时候就要登场了,它解决的问题也就是高并发的处理,将同步的阻塞变成异步的处理!
我们工作中经常使用到的消息组件有:RabbitMQ,Equeue,ActiveMQ,Kafka等,最近大叔自己也写了一套,取名为LindMQ,各位有时间可以多关注!
下面我们以RabbitMQ来说说它的安装与部署:
1 Erlang
是一种通用的面向的编程语言,它由电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境.
(101028910)
(101028910)
(101891457)
(34761971)
(1409661)
2 RabbitMQServer
是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求.
3 安装完成后,开启rabbitMQ的服务,然后它会去监听一些端口,用来进行数据通讯
端口4369 (epmd), 25672 (Erlang distribution)
Epmd是Erlang Port Mapper Daemon的缩写,在Erlang集群中的感化相当于dns的作用,供给节点名称到端口的查询办事,epmd绑定在总所周知的4369端口上。
端口5672, 5671 (AMQP 0-9-1 without and with TLS)
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级队列协议,是协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/不同产品,不同的开发语言等条件的限制。中的实现有 等。
端口15672 (if management plugin is enabled)
通过http://serverip:15672访问RabbitMQ的Web管理界面,默认用户名密码都是guest。(注意:RabbitMQ 3.0之前的版本默认端口是55672,下同)
端口61613, 61614 (if STOMP is enabled)
Stomp是一个简单的消息文本协议,它的设计核心理念就是简单与可用性,官方文档:
现在我们就来实践一下Stomp协议,你需要的是:
1.一个支持stomp消息协议的messaging server(譬如activemq,rabbitmq);
2.一个终端(譬如linux shell);
3.一些基本命令与操作(譬如nc,telnet)
端口1883, 8883 (if MQTT is enabled)
MQTT只是IBM推出的一个消息协议,基于的。两个App端发送和接收消息需要中间人,这个中间人就是消息服务器(比如ActiveMQ/RabbitMQ),三者通信协议就是MQTT
好了,介绍了这些多,相信大家也是心里痒痒了,下一讲,咱们开始写RabbitMQ的demo了,敬请期待!
本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。