rabbitMQ学习-简介(1)

160 阅读2分钟

什么是消息中间件

  • 消息中间件,是指利用高效可靠的消息传递机制进行通信,通过数据通信来进行分布式系统的集成。
  • 目前开源的消息中间件有很多,比较流行的有RabbitMq、kafka、activeMQ、rocketMQ等。
  • 消息中间件运行模式:发送者将消息发送给消息服务器,消息服务器将消息存放到若干的队列中,在合适的时候再将消息转发给接收者。

消息中间件的作用

  • 解耦:服务解耦,及时响应。
  • 数据存储:有些处理数据会失败,然后数据会丢失。但消息中间件可以持久化数据直到消费者把数据处理完成。
  • 拓展性
  • 削峰:在访问量或者大量数据处理,推到队列中,消费者不会因为突发的数据或者访问量崩溃。
  • 可恢复性:降低耦合度,即使消费者挂了,也不影响向队列中推送数据。消费者恢复之后任然可以处理队列中的数据。
  • 顺序保证:队列中数据有序的。
  • 缓冲:提高数据流过系统的时间,快速响应,尽可能快速的推送到队列中
  • 异步通信:数据不需要立即处理,放入消息中间件中,在之后可以慢慢处理。

rabbitmq 起源

  • 使用Erlang语言开发,网上说是一门天生支持并发的语言。
  • 支持AMQP(高级消息队列协议)的消息中间件
  • 首先是用于金融领域。
  • 2006年6月,指定AMQP的公开标准。它时应用层协议的一个标准,基于此协议的客户端和消息中间件可传递消息,不受产品、开发语言等条件限制。

rabbitMq的特点

  • 可靠性:持久化,传输确认、发布确认
  • 灵活路由
  • 拓展性:动态增加节点
  • 高可用:队列在集群服务器中的机器设置了镜像,部分节点出现问题队列仍然可以使用
  • 多种协议:除了AMQP协议,STOMP,MQTT
  • 支持多语言
  • 管理界面:服务器 15672端口
  • 插件机制