消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。它可以实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。

消息队列在电商系统、消息通讯、日志收集等应用中扮演着关键作用,以阿里为例,其研发的消息队列(RocketMQ)在历次天猫 “双十一” 活动中支撑了万亿级的数据洪峰,为大规模交易提供了有力保障。

作为提升应用性能的重要手段,分布式消息队列技术在互联网领域得到了越来越广泛的关注 。本文将介绍四种常用的分布式消息队列开源软件:Kafka、ActiveMQ、RabbitMQ 及 RocketMQ。

1. Kafka

在分布式消息队列的江湖里,Kafka 凭借其优秀的性能占据重要一席。它最初由 LinkedIn 公司开发,Linkedin 于 2010 年贡献给了 Apache基金会,之后成为顶级开源项目。

1.1 Kafka简介

关于 Kafka,网上有很多介绍,经过不断地复制、洗稿、演绎后,难免背离原意,因此,我们还是来看一下官网给出的定义:

Apache Kafka is a distributed streaming platform.

Kafka 作为流平台具有以下三种能力:

  1. 发布和订阅记录流,类似于消息队列或企业消息系统;
  2. 具有容错能力,且可以持久化的方式存储记录流;
  3. 当记录流产生时(发生时),可及时对其进行处理。

Kafka 适用于两类应用:

第10课:主流的分布式消息队列方案解读及比较相关推荐

  1. 一文读懂:Kafka(分布式消息队列)的基础概念,教程

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...

  2. 基于 Kafka 和 ZooKeeper 的分布式消息队列原理

    转载:https://gitbook.cn/books/5bc446269a9adf54c7ccb8bc/index.html 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 ...

  3. 再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理

    关于分布式消息队列,我在几个月前写过一篇文章:<深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列 >.最近,由于写作课程<分布式中间件实践之路>的契机,我 ...

  4. 深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列

    https://gitbook.cn/books/5ae1e77197c22f130e67ec4e/index.html 向作者提问 毕业于 C9 高校,硕士学历,曾在 IEEE ITS.VSD 等 ...

  5. OSSIM中分布式消息队列应用

     OSSIM中分布式消息队列应用 1. 消息队列处理 企业日志数量正在以指数级形式高速增长,日志数据的具有海量.多样.异构等特点,基于传统的单一节点混合式安装的OSSIM平台(指OSSIM 4.4及以 ...

  6. rockemq 发送延迟消息_58分布式消息队列WMB设计与实践

    背景 为了能够承载58业务的快速扩展及海量的用户访问,分布式系统已经成为公司一种主流架构设计.而消息队列是大型分布式系统中不可或缺的通信桥梁,在分布式系统解耦.异步通信.事件通知.流量削峰等业务场景中 ...

  7. 分布式消息队列基础知识

    本文主要整理消息队列的一些基本概念,为后面的Rocketmq消息队列组件深入学习打下基础. 一.什么是消息队列? 维基百科介绍:消息队列(Message Queue)是一种进程间通信或同一进程的不同线 ...

  8. 分布式消息队列RocketMQ(一)安装与启动

    分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...

  9. 分布式消息队列RocketMQ 快速入门

    分布式消息队列RocketMQ 一 RocketMQ概述 概述 1.MQ简介 MQ,Message Queue,是一种提供消息队列服务的中间件,是一套提供了消息生产.存储.消费全过程API的软件系统. ...

最新文章

  1. 数据绑定以及Container.DataItem绑定技巧
  2. mysql 设置表的大小_mysql InnoDB建表时设定初始大小的方法
  3. python0o12_2020年日期表-python实现
  4. 1.0 深度学习回顾与PyTorch简介 - PyTorch学习笔记
  5. turbo c图形方式下编程小技巧
  6. freemarker模板引擎 常用标签
  7. Windows socket之最简单的socket程序
  8. UUID,加密解密算法的使用
  9. IDEA15 下运行Scala遇到问题以及解决办法
  10. mysql如何选择多个表_从两个表mysql中选择多行
  11. Delphi的TdxDBGrid自带的一些有用的导出文件的函数(EXCEL、HTML、XML、TXT、INI、Registry等)
  12. Node接口也定义了一些所有节点类型都包含的特性和方法
  13. 算法笔记_面试题_20.数组相关_模板及示例十几道
  14. mac的python换字体_Mac OSX Yosemite系统字体修改
  15. AMI编码规则与HDB3编码规则详解
  16. 哈希原理与常见哈希函数
  17. 新浪股东批准私有化合并协议;中集车辆创业板成功过会;中国红牛2020年销售额超228亿元​ | 美通企业周刊...
  18. 家庭计算机网络的组网策略,如何组建一个家庭局域网
  19. YOLOv3反向传播原理 之 全流程源码分析
  20. 重装oracle 11g,完全卸载办法

热门文章

  1. java大小端字节流解析_记录一个如何解决java与C++socket通信的大小端问题
  2. jsp+ssh2+mysql实现的CRM客户关系管理系统
  3. 2022跨年烟花代码(四)HTML5全屏烟花动画特效
  4. numpy随机索引(不重复)和打乱元素
  5. SAP FICO 应收应付重分类的坑 SAP S4 HANA
  6. FreeRTOS笔记篇:第五章 --软件定时
  7. 解决Vue中重复点击相同路由控制台报错问题
  8. mysql中有没有FM_关于FM数据库,简单介绍一下
  9. 我们距离真正的移动办公,还有多远
  10. 海思平台OSD的实现(1)