我们往往会陷入选择的困境:“消息队列那么多,该怎么选啊?Kafka 和 RabbitMQ 比较好用,用哪个更好呢?”想必大家也曾有过类似的疑问。对此本文将在接下来的内容中以 Kafka 和 RabbitMQ 为例分享消息队列选型的一些经验。消息队列即 Message+Queue,消息可以说是一个数据传输单位,它包含了创建时间、通道/主题信息、输入参数等全部数据;队列(Queue)是一种 FIFO(先进先出)的数据结构,编程语言一般都内置(内存中的)队列实现,可以作为...
分布式系统中必备的一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦、流量消峰、实现最终一致性。目前市面上已经有 `RabbitMQ、RochetMQ、ActiveMQ、Kafka`等,有人会问:“Redis 适合做消息队列么... [redis消息确认机制](https://magebyte.oss-cn-shenzhen.aliyuncs.com/redis/redis备份队列.png)**需要注意的是,如果生产者消息发送的很快,而消费者处理速度慢就会导致消息堆积,给 Redis 的内存带来过大压力。**...
作者|字节跳动消息队列研发工程师-雷丽媛上文我们了解了在字节跳动内部业务快速增长的推动下,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队... 这个缓存存储的是消息数据。Message Cache 会将每个 Partition 末尾的一部分数据从远端读取回来,并缓存在内存中,以供消费者读取。若这个 Partition 有多个消费组,那么理想情况下,他们只会产生一次分布式文件系统的...
多数公司都会选择将消息队列作为削峰填谷的关键工具。字节跳动的消息队列团队不仅要支撑公司内部消息队列系统的设计、开发和维护工作,还要解决诸多技术难题和痛点,例如如何稳定高效地处理海量数据、如何降低运... 包括存储空间、写入吞吐量以及消费吞吐量等。此外,热点问题也是一个值得注意的问题,因为每个 Partition 的负载可能并不一致,有一些 IO 开销大,有一些存储空间占用较多,这就导致了调度的复杂度很高。![picture...
应用接入消息队列 RocketMQ版之前,需要在控制台创建 RocketMQ 实例。消息队列 RocketMQ版提供多种实例规格,对应不同的计算能力和存储空间,您可以根据实际业务需求选择不同的实例规格。本文档介绍创建 RocketMQ 实例的操作步骤。 说明 默认情况下,您可以在每个地域中创建 5 个 RocketMQ 实例,且每个账号在每个地域中的所有实例存储容量总和最大为 10TiB,否则创建实例时报错 The InstanceNum/StorageSum has exceeded quota。如需提...
本文介绍消息队列 RabbitMQ版相关的计费项和价格详情。 计费项消息队列 RabbitMQ版的计费项包括计算规格费用、存储规格费用。 计费项 说明 计算规格 按支持的业务流量峰值提供不同性能的计算规格。计费类型为包年包月或按量计费。 存储规格 消息队列 RabbitMQ版实例存储空间的费用。计费类型为包年包月或按量计费。 说明 关于计费类型的信息,详情请参见计费类型。 实例价格消息队列 RabbitMQ版实例支持多种实例规格配置,...
本文介绍消息队列 RocketMQ版提供的计费项。 计费项消息队列 RocketMQ版的计费项包括计算规格费用和存储规格费用。 计费项 说明 计算规格 按支持的业务流量峰值提供不同性能的计算规格。计费类型为包年包月或按量计费。 存储规格 消息队列 RocketMQ版实例存储空间的费用。计费类型为包年包月或按量计费。 说明 关于计费类型的信息,详情请参见计费类型。 实例价格消息队列 RocketMQ版实例支持多种实例规格配置,按计算规格...
应用接入消息队列 RabbitMQ版之前,需要在控制台创建 RabbitMQ 实例。消息队列 RabbitMQ 版提供多种实例规格,对应不同的计算能力和存储空间,您可以根据实际业务需求选择不同的实例规格。本文档介绍创建 RabbitMQ 实例的操作步骤。 说明 默认情况下,您可以在每个地域中创建 5 个 RabbitMQ 实例,否则创建实例时报错 The Instance has exceeded quota。如需提高配额,请在配额中心提交申请,例如提高每个地域下的最大实例数量(Instance...
在开关插件等可能造成实例重启的场景下,或在小概率的服务异常场景中,如果未配置数据持久化,则可能有数据丢失的风险。本文档演示如何配置数据持久化。 应用场景数据持久化指将保存在内存中的数据写入到磁盘上进行长期存储。在消息队列 RabbitMQ版中,持久化或非持久化的消息都会被写入到实例磁盘中,但是在实例重启、更配、服务异常等场景下,未持久化的消息有一定几率被意外删除。配置数据持久化可以提高消息队列 RabbitMQ版实例的可...
作者|字节跳动消息队列研发工程师-雷丽媛上文我们了解了在字节跳动内部业务快速增长的推动下,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队... 这个缓存存储的是消息数据。Message Cache 会将每个 Partition 末尾的一部分数据从远端读取回来,并缓存在内存中,以供消费者读取。若这个 Partition 有多个消费组,那么理想情况下,他们只会产生一次分布式文件系统的...
分布式系统中必备的一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦、流量消峰、实现最终一致性。目前市面上已经有 `RabbitMQ、RochetMQ、ActiveMQ、Kafka`等,有人会问:“Redis 适合做消息队列么... [redis消息确认机制](https://magebyte.oss-cn-shenzhen.aliyuncs.com/redis/redis备份队列.png)**需要注意的是,如果生产者消息发送的很快,而消费者处理速度慢就会导致消息堆积,给 Redis 的内存带来过大压力。**...
消息队列 RabbitMQ版支持配置云监控告警规则,帮助您实时关注实例的运行状态。本文档介绍典型场景下的告警规则配置示例,建议参考这些推荐的告警策略,配置监控指标的告警规则。 实例维度 实例磁盘使用率超过 85%告警... 实例内存使用率超过 85%告警规则配置告警规则的核心配置如下。创建告警规则的操作步骤请参考设置告警规则。 配置 取值 维度 实例 触发条件 监控指标:内存使用率 持续周期:持续3个周期 取值方式:最大值 比较...
多数公司都会选择将消息队列作为削峰填谷的关键工具。字节跳动的消息队列团队不仅要支撑公司内部消息队列系统的设计、开发和维护工作,还要解决诸多技术难题和痛点,例如如何稳定高效地处理海量数据、如何降低运... 包括存储空间、写入吞吐量以及消费吞吐量等。此外,热点问题也是一个值得注意的问题,因为每个 Partition 的负载可能并不一致,有一些 IO 开销大,有一些存储空间占用较多,这就导致了调度的复杂度很高。![picture...