20200202 ActiveMQ 1. 入门概述

MQ的种类

  • Kafka
  • RabbitMQ
  • RocketMQ
  • ActiveMQ

微服务中系统直接调用存在的问题,需要引入MQ的原因:

  • 系统之间接口耦合严重;
  • 大流量并发时,容易被冲垮;
  • 等待同步调用存在性能问题;

MQ能做什么

  • 解耦
  • 削峰
  • 异步

MQ的技术维度

  • 发送和接收消息API
  • MQ的高可用性
  • MQ的集群和容错配置
  • MQ的持久化
  • 延时发送和定时投递
  • 签收机制
  • Spring整合
  • 编程语言:Java
    • Kafka:Java、Scala
    • RabbitMQ:erlang
    • RocketMQ:Java

面向消息的中间件(messae-oriented middleware)MOM定义:
是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递消息排队模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等功能。

大致过程:
发送者把消息发送给消息服务器,消息服务器将消息存放在若干队列/主题中,在合适的时候,消息服务器会将消息转发给接受者。在这个过程中,发送和接收是异步的,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然关系;尤其在发布pub/订阅sub模式下,也可以完成一对多的通信,既让一个消息有多个接收者。

原文地址:https://www.cnblogs.com/huangwenjie/p/12251023.html