linux系统消息中间件的介绍

简介

消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。

当下主流的消息中间件有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。

作用

消息中间件主要作用
冗余(存储)

扩展性

可恢复性

顺序保证

缓冲

异步通信

常用中间件介绍与对比

Kafka
Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。
RabbitMQ
4RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
RocketMQ
RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景。

RabbitMQ比Kafka可靠,Kafka更适合IO高吞吐的处理,一般应用在大数据日志处理或对实时性(少量延迟),可靠性(少量丢数据)要求稍低的场景使用,比如ELK日志收集。

相关推荐

  1. linux系统消息中间介绍

    2024-02-22 14:16:01       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 14:16:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 14:16:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 14:16:01       82 阅读
  4. Python语言-面向对象

    2024-02-22 14:16:01       91 阅读

热门阅读

  1. Linux中gdb使用说明书

    2024-02-22 14:16:01       32 阅读
  2. 【Spring Boot 3】【JPA】一对一中间表关联

    2024-02-22 14:16:01       63 阅读
  3. 【uni.app】动态赋值字典类数据的问题及解决方案

    2024-02-22 14:16:01       39 阅读
  4. 深度学习如何入门

    2024-02-22 14:16:01       53 阅读
  5. 设计模式-创建型模式-工厂方法模式

    2024-02-22 14:16:01       47 阅读