RabbitMQ和Kafka,更加便捷高效的消息队列使用方式,请放心食用

时间:2022-01-11 05:52:55

一、RabbitMQ实例介绍
RabbitMQ实例由华为云分布式消息服务(DMS)团队打造,实例采用物理隔离的方式部署,租户独占RabbitMQ实例。一键式部署,完全兼容开源RabbitMQ的使用方式,真正做到服务零改动快速迁移,大大节省维护和使用成本。

产品特点
1.一键式部署

用户只需要在实例管理界面点击申请按钮,提交订单。后台将自动创建部署完成一整套RabbitMQ实例。

2.即时可用

用户只要等待实例创建完成后即可正常访问使用。

3.业务零修改迁移

完全兼容开源的RabbitMQ使用方式。使用开源RabbitMQ客户端进行生产消费的业务将不再需要任何业务逻辑改动。

4.独占式体验

创建的每个RabbitMQ实例之间相互隔离,互不影响。

5.多种规格可选

可提供多种不同的规格,满足用户不同需求,用户可自行选择适合自己的规格。

6.无忧运维

无需关注服务的运行维护,可节省大量服务维护的费用。

二、Kafka专享实例

Kafka专享实例介绍

Kafka专享版由华为云分布式消息服务(DMS)团队打造,旨在为用户提供更加便捷高效的消息队列使用方式。一键式部署,完全兼容开源Kafka的使用方式,真正做到服务零改动快速迁移,大大节省维护和使用成本。

产品特点
1.一键式部署

用户只需要在实例管理界面点击申请按钮,提交订单。后台将自动创建部署完成一整套Kafka实例。

2.业务零修改迁移

完全兼容开源的Kafka使用方式。使用开源Kafka客户端进行生产消费的业务将不再需要任何业务逻辑改动。

3.独占式体验

创建的每个Kafka实例之间资源相互隔离,互不影响。

4.即用即创,即停即删

提供按需付费的方式,按小时收费。实例不需要时,则可直接删除释放。

5.多种规格可选

可提供多种不同的规格,满足用户不同需求,用户可自行选择适合自己的规格。

6.无忧运维

无需关注服务的运行维护,可节省大量服务维护的费用。

Kafka专享实例规格说明

Kafka专享版完全兼容开源Kafka1.1.0,实例规格以实例提供的基准带宽分类,包括100MB/300MB/600MB/1200MB共4种类型。

指标参考
Kafka实例不同带宽类型的TPS与分区数限制

实例带宽类型

I/O类型

TPS(高吞吐场景)

TPS(同步复制场景)

分区数上限

100MB

高I/O

10万

6万

300

超高I/O

10万

8万

300

300MB

高I/O

30万

15万

900

超高I/O

30万

20万

900

600MB

超高I/O

60万

30万

1800

1200MB

超高I/O

120万

40万

1800

Kafka实例的网络带宽指单向(读或写)最大带宽。一般建议选择带宽时建议预留30%,确保您的应用运行更稳定。

100MB

kafka客户端链接数在3,000以内,消费组个数在60个以内,业务流量为70M以内时推荐选用。

300MB

kafka客户端链接数在10,000以内,消费组个数在300个以内,业务流量为210M以内时推荐选用。

600MB

kafka客户端链接数在20,000以内,消费组个数在600个以内,业务流量为420M以内时推荐选用。

1200MB

kafka客户端链接数在20,000以内,消费组个数在600个以内,业务流量为840M以内时推荐选用。

Kafka专享版支持多副本存储,副本数量为1~3。存储空间包含所有副本存储空间总和,因此,您在创建Kafka实例,选择初始存储空间时,建议根据业务消息体积预估以及副本数量选择合适的存储空间。

例如:业务消息体积预估100GB,则磁盘容量最少应为100GB*副本数 + 预留磁盘大小100GB。

Kafka实例支持对存储进行扩容,根据业务增长,随时更改存储体积,节约成本。

三、应用场景

分布式消息服务可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。

分布式消息服务可以应用但不局限于以下业务场景:

业务解耦

将业务中依赖其他系统同时属于非核心或不重要的部分使用消息通知即可,无需同步等待其他系统的处理结果。如电商网             站在促销期间抢购订单,抢到的商品订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。

最终一致性

在交易或支付系统中,不同的子系统/模块的状态需要最终保持一致,或都成功或都失败。子系统/模块之间传递的数据不             能丢失,需要有可靠消息传递,能保证业务的连续性。DMS可以用于子系统/模块间的高可靠数据传递,实现两者之间的               事务最终一致,降低实现难度和成本。

例如用户使用储蓄余额购买理财产品。由于理财系统一般对理财申购交易采用日终统一处理,允许用户的储蓄余额与理财             系统资金余额存在一定时间段的不一致,或者说中间状态,因此,可以对理财产品的购买支付流程使用DMS服务的消息               处理机制,保证储蓄余额与理财余额的最终一致,同时避免系统间对账不平。

错峰流控

在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的             某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以             通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息          队列提供亿级消息堆积能力,3天的保留时长,消息消费系统可以错峰进行消息处理。

日志同步

应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收            集进行应用监控。

四、与其他服务的关系
云审计服务

云审计服务(Cloud Trace Service,简称CTS),为您提供云服务资源的操作记录,记录内容包括您从公有云管理控制台或者开放API发起的的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。
当前CTS记录DMS的操作有:
创建实例
删除实例
虚拟私有云
分布式消息服务的RabbitMQ实例和Kafka专享版实例运行于虚拟私有云,需要使用虚拟私有云创建的IP和带宽。通过虚拟私有云安全组的功能可以增强访问分布式消息服务RabbitMQ实例和Kafka专享版实例的安全性。
云监控(Cloud Eye)云监控是一个开放性的监控平台,提供资源的实时监控、告警、通知等服务。

DMS服务向Cloud Eye上报监控数据的更新周期为1分钟。

五、基本概念
DMS向用户提供服务的最小资源单位。

当前支持RabbitMQ实例和Kafka实例,不同的实例支持不同的规格。

针对RabbitMQ实例,可以为其绑定一个弹性公网IP地址,客户端通过公网IP进行访问。

指允许DMS产品服务团队为实例进行升级维护的时间段。

DMS对实例升级维护频率较低,一般每季度一次。虽然频率低,且升级过程不会影响业务,但建议您选择业务量较少的               时间段作为维护时间窗。

在创建实例时,都会要求设置一个维护时间窗,您也可以在实例创建后,对维护时间窗进行修改。

将RabbitMQ和Kafka集群实例部署在不同的AZ(可用区域)内,节点间电力与网络均物理隔离。您可以将应用程序也进               行跨AZ部署,从而达到数据与应用全部高可用。

在创建RabbitMQ和Kafka集群实例时,在“可用区”中可选择3个及以上可用区。

本文内容来自华为云帮助中心