《中间件核心技术与实战》 学习笔记 day2

165 阅读2分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习中间件😊

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 12 天,点击查看活动详情

消息中间件选型

消息中间件的应用场景主要有两个:异步解耦与削峰填谷。

引入消息中间件的目的是让它来扛住海量流量,流量先进入到消息队列中,然后消费端下游系统可以慢慢消费消息中间件中的数据,这样能有效保护下游系统不被瞬时的流量击破。

image.png

RocketMQ 特点

RocketMQ 是一个高吞吐量、可靠性高的分布式消息系统。它具有以下特点:

  • 高吞吐量:可以处理数百万的消息,每秒几十万的消息。
  • 可靠性:可以提供稳定的服务,确保消息不会丢失。
  • 分布式:可以跨多个数据中心,支持数据可用性。
  • 灵活性:支持发送确认,消息自动重发等功能,保证消息的可靠性。
  • 支持多种协议:支持HTTP、TCP、UDP等标准协议,以及自定义协议。
  • 支持多种语言:支持Java、Go、Python等多种语言。
  • 支持多种数据格式:支持XML、JSON、Avro等多种数据格式。

Kafka 特点

Kafka 是一个可靠性高、可伸缩性强的分布式流式平台。它具有以下特点:

  • 可靠性:支持多副本技术,以及消息确认机制,保证消息不会丢失。
  • 可伸缩性:可以横向扩展,处理数百万的消息,每秒几十万的消息。
  • 分布式:可以跨多个数据中心,实现全球范围的消息传输。
  • 安全性:支持SSL/TLS协议,以及Kerberos身份验证系统,保证数据的安全性。
  • 支持多种协议:支持HTTP、TCP、UDP等标准协议,以及自定义协议。
  • 支持多种语言:支持Java、Go、Python等多种语言。
  • 支持多种数据格式:支持XML、JSON、Avro等多种数据格式。

在消息中间件选型时,Kafka 和 RocketMQ 都是不错的选择。Kafka 是一个可靠性高、可伸缩性强的分布式流式平台,具有可靠性高、可伸缩性强、安全性高等特点,适合大规模消息传输。RocketMQ 是一个高吞吐量、可靠性高的分布式消息系统,具有高吞吐量、可靠性高等特点,适合短消息传输。因此,选择哪个消息中间件取决于具体业务场景。

此文章为2月Day7学习笔记,内容来源于极客时间《中间件核心技术与实战》