临沧市网站建设_网站建设公司_轮播图_seo优化
2026/1/13 20:59:48 网站建设 项目流程

目录

Kafka

定义

基本概念

售卖方式

Kafka 原理

Kafka 产品优势

应用场景

使用限制及开源对比

Rabbit MQ

定义

售卖方式

名词解释

产品优势

应用场景

RocketMQ

概念定义

售卖方式

基本概念

开源对比优势

应用场景

MQTT

定义

名词解释

售卖方式

应用场景

产品优势

MQTT 常见问题总结

Kafka

定义

是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。云消息队列 Kafka 版广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域,已成为大数据生态中不可或缺的部分。

基本概念

1、ZooKeeper

一款开源的分布式应用程序协调服务。在云消息队列 Kafka 版中,ZooKeeper主要用于集群管理、配置管理、Leader选举。ZooKeeper是云消息队列 Kafka 版的一部分,您无需感知ZooKeeper

2、Broker

一个云消息队列 Kafka 版服务端节点。云消息队列 Kafka 版提供全托管服务,会根据实例的流量规格自动变化Broker的数量和配置。您无需关心具体的Broker信息。

3、集群

由多个Broker组成的集合。

4、消息

云消息队列 Kafka 版中信息传递的载体。消息可以是网站的页面访问、服务器的日志,也可以是和CPU、内存相关的系统资源信息,但对于云消息队列 Kafka 版,消息就是一个字节数组

5、消息保留时长

在磁盘容量充足的情况下,消息的最长保留时间。

  • 磁盘容量不足(即磁盘水位达到85%)时,将提前删除旧的消息,以确保服务可用性。
  • 默认值为72小时,取值范围为24小时~480小时。

6、最大消息大小

云消息队列 Kafka 版能收发的消息的最大值。

  • 消息的最大值上限为10 MB,不区分标准版实例和专业版实例
  • 修改该配置前,请确认修改值是否匹配生产和消费客户端相应配置。

7、发布/订阅模型

一种异步的服务间通讯模型。发布者无需了解订阅者的存在,直接将消息发送到特定的主题。订阅者无需了解发布者的存在,直接从特定的主题接收消息。

8、Producer

向云消息队列 Kafka 版发送消息的应用。

9、Consumer

从云消息队列 Kafka 版接收消息的应用。

10、Group

一组具有相同Group ID的Consumer。当一个Topic被同一个Group的多个Consumer消费时,每一条消息都只会被投递到一个Consumer,实现消费的负载均衡。通过Group,您可以确保一个Topic的消息被并行消费。
11、Topic

消息的主题,用于分类消息。

12、分区

云消息队列 Kafka 版中的分区数是指一个主题(Topic)被划分为的子数据集的数量。每个分区都是一个有序的消息队列,可以独立地进行读写操作。分区数的选择通常根据吞吐量和并发性能的需求来决定。

13、副本数

云消息队列 Kafka 版允许为每个分区创建多个副本,以提供数据冗余和高可用性。副本数是指每个分区存在的副本数量。副本数的选择通常是根据可用性和容错能力的需求来决定。较多的副本数可以提高可用性和数据冗余,但也会增加存储和网络开销。默认单个分区有三个副本

13、分区副本数

分区副本数是分区实际存在的副本数量。它是分区数和副本因子之间的乘积。例如,如果一个主题(Topic)有10个分区,每个分区有3个副本,那么该主题的分区副本数就是30。分区副本数影响着整个Kafka集群的存储和吞吐量能力。较高的分区副本数可以提高故障容忍性和读取性能,但也会增加网络和存储开销。

14、普通消息

默认情况下,保证相同Key的消息分布在同一个分区中,且分区内消息按照发送顺序存储。集群重启或者宕机时,会导致极少量乱序。

15、分区顺序消息

默认情况下,保证相同Key的消息分布在同一个分区中,且分区内消息按照发送顺序存储。集群宕机时,不会造成消息乱序。但是会出现部分分区发送消息失败的情况,等到宕机机器重新上线后即可恢复正常。

16、Connector

云消息队列 Kafka 版的组件,用于云消息队列 Kafka 版和其他阿里云服务之间的数据同步。
 

售卖方式

包年包月、按小时后付费、serverless实例

包年包月/按小时后付费:

标准版、专业高写版、专业高读版。高写版:读写1:1,高读:读写5:1.

参数:读写流量峰值、分区数(赠送一定量)、磁盘类型(不可更改)、磁盘容量

serverless实例:

基础版、专业版、标准版

参数:发送能力、订阅能力预留、分区数

Kafka 原理

系统架构

  • Producer
    • 通过push模式向云消息队列 Kafka 版的Kafka Broker发送消息。发送的消息可以是网站的页面访问、服务器日志,也可以是CPU和内存相关的系统资源信息。
  • Kafka Broker
    • 用于存储消息的服务器。Kafka Broker支持水平扩展。Kafka Broker节点的数量越多,云消息队列 Kafka 版集群的吞吐率越高。
  • Group
    • 通过pull模式从云消息队列 Kafka 版Broker订阅并消费消息
  • Zookeeper
    • 管理集群的配置、选举leader分区,并且在Group发生变化时,进行负载均衡。

发布/订阅模型

  • Group和Topic的对应关系是N : N,即一个Group可以同时订阅多个Topic,一个Topic也可以被多个Group同时订阅。
  • 虽然一个Topic可以被多个Group同时订阅,但该Topic的消息只能被同一个Group内的任意一个Consumer消费。

Kafka 产品优势

云消息队列 Kafka 版100%兼容开源,使您无缝迁移上云。

  • 兼容开源:云消息队列 Kafka 版100%兼容开源Apache Kafka,您可以直接使用开源Apache Kafka客户端与云消息队列 Kafka 版通讯。云消息队列 Kafka 版目前支持0.10.x~3.x的开源版本。
  • 无缝迁移:云消息队列 Kafka 版基于现有的开源Apache Kafka生态,您无需任何代码改造,即可迁移上云。

提供超大规格:

  • 深度优化内核,解决开源版本千级分区性能瓶颈,支持万级分区性能不受损。
  • 支持秒级扩容
  • 支持最高50 GB/s流量写入。

阿里云消息产品的研发与性能优化团队,进一步优化了开源产品的痛点,为您提供更优质的服务。

  • 数据持久化:专业团队保障更高可用性,消息持久化落盘到消息队列,数据可靠性高,服务可用性高。
  • 高吞吐能力:在海量消息堆积的情况下,始终能保持云消息队列 Kafka 版集群的高吞吐能力。
  • 数万级Topic:支持数万级Topic高并发读写,始终保持云消息队列 Kafka 版集群的高吞吐能力。

高SLA保障:

  • 支持灰度升级、升级/拖冷数据等极端场景写优化保障。
  • 全自动巡检运维体系保障,服务可用性达99.99%,数据可靠性达99.9999999%。

应用场景

典型应用场景,包括网站活动跟踪、日志聚合、数据处理、数据中转枢纽。


1、网站活动跟踪:

成功的网站运营需要对站点的用户行为进行分析。通过云消息队列 Kafka 版的发布/订阅模型,可以实时收集网站活动数据(例如注册、登录、充值、支付、购买),根据业务数据类型将消息发布到不同的Topic,然后利用订阅消息的实时投递,将消息流用于实时处理、实时监控或者加载到Hadoop、MaxCompute等离线数据仓库系统进行离线处理。

云消息队列 Kafka 版用于网站活动跟踪具备以下优势:

  • 高吞吐:网站用户产生的行为信息较为庞大,需要较高的吞吐量来支持。
  • 弹性扩容:网站活动导致行为数据激增,云平台可以快速按需扩容。
  • 大数据分析:可对接Storm、Spark等实时数据处理引擎,亦可对接Hadoop等离线数据仓库系统。

2、日志聚合

许多公司,例如淘宝、天猫等,每天都会产生大量的日志(一般为流式数据,例如搜索引擎PV、查询等)。相较于以日志为中心的系统,例如Scribe和Flume,云消息队列 Kafka 版在具备高性能的同时,可以实现更强的数据持久化以及更短的端到端响应时间。云消息队列 Kafka 版的这种特性决定它适合作为日志收集中心。云消息队列 Kafka 版忽略掉文件的细节,可以将多台主机或应用的日志数据抽象成一个个日志或事件的消息流,异步发送到云消息队列 Kafka 版集群,从而实现非常低的RT。云消息队列 Kafka 版客户端可批量提交消息和压缩消息,对生产者而言几乎感觉不到性能的开支。消费者可以使用Hadoop、MaxCompute等离线仓库存储和Storm、Spark等实时在线分析系统对日志进行统计分析。w

云消息队列 Kafka 版用于数据聚合具备以下优势:

  • 应用与分析解耦:构建应用系统和分析系统的桥梁,并将它们之间的关联解耦。
  • 高可扩展性:具有高可扩展性,即当数据量增加时可通过增加节点快速水平扩展。
  • 在线或离线分析系统:支持实时在线分析系统和类似于Hadoop的离线分析系统。

3、数据处理

在很多领域,如股市走向分析、气象数据测控、网站用户行为分析,由于数据产生快、实时性强且量大,很难统一采集这些数据并将其入库存储后再做处理,这便导致传统的数据处理架构不能满足需求。

与传统架构不同,云消息队列 Kafka 版以及Storm、Samza、Spark等数据处理引擎的出现,就是为了更好地解决这类数据在处理过程中遇到的问题,

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询