消息队列(Message Queues)是一种在分布式系统中用于异步通信的机制。它可以存储和传递消息,确保消息在不同的组件之间以可靠的方式进行传递。下面是几种常见的消息队列系统以及它们之间的区别:1. RabbitMQ:Rabbi... 支持各种消息模式(例如发布/订阅、工作队列等),有丰富的客户端库和广泛的语言支持。1. Apache Kafka:Kafka是一个高吞吐量、可持久化、分布式的发布/订阅消息队列系统。它将消息持久化到磁盘,保证数据的持久性,并...
经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队研发了计算存储分离的 **云原生消息引擎 BMQ** ,在极速扩缩容及吞吐上都有非常好的表现。本文将继... 相较于 Kafka 将数据存储在本地磁盘,BMQ 将数据存储在了分布式的存储系统。在 BMQ 内部,主要有四个模块:Proxy,Broker,Coordinator 和 Controller。我们依次来看一下这些模块的主要工作:* Proxy 负责接收所有用...
字节跳动消息队列研发工程师-雷丽媛在字节跳动内部业务快速增长的推动下,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队研发了计算存储分离的云... 相较于 Kafka 将数据存储在本地磁盘,BMQ 将数据存储在了分布式的存储系统。在 BMQ 内部,主要有四个模块:Proxy,Broker,Coordinator 和 Controller。我们依次来看一下这些模块的主要工作:* Proxy 负责接收所有用户...
多数公司都会选择将消息队列作为削峰填谷的关键工具。字节跳动的消息队列团队不仅要支撑公司内部消息队列系统的设计、开发和维护工作,还要解决诸多技术难题和痛点,例如如何稳定高效地处理海量数据、如何降低运... 对于磁盘的 IO 开销就会非常大。另外,也有一些业务可能吞吐量没那么高,但是需要长时间存储数据,这种情况下就会有很大的容量开销。另外在负载均衡时需要拷贝数据就会导致无法实时对负载进行调整。特别是在晚高...
如果业务在短时间内消息猛增,此时尚未过期的消息快速填满了某个 Broker 或全部实例的磁盘空间,可能造成生产和消费的异常。消息队列 Kafka版在磁盘容量不足时,通过阈值策略管理保证服务的可用性。Kafka 实例支持自定义设置磁盘清理水位,且每个 Broker 的磁盘清理水位相同。如果实例整体磁盘使用率达到清理水位,或因数据不均衡导致某个 Broker 的磁盘使用率达到清理水位时,无论消息是否超过消息保留时长,都会按服务端存储消息的时间...
多数公司都会选择将消息队列作为削峰填谷的关键工具。字节跳动的消息队列团队不仅要支撑公司内部消息队列系统的设计、开发和维护工作,还要解决诸多技术难题和痛点,例如如何稳定高效地处理海量数据、如何降低运... 对于磁盘的 IO 开销就会非常大。另外,也有一些业务可能吞吐量没那么高,但是需要长时间存储数据,这种情况下就会有很大的容量开销。另外在负载均衡时需要拷贝数据就会导致无法实时对负载进行调整。特别是在晚高...
在开关插件等可能造成实例重启的场景下,或在小概率的服务异常场景中,如果未配置数据持久化,则可能有数据丢失的风险。本文档演示如何配置数据持久化。 应用场景数据持久化指将保存在内存中的数据写入到磁盘上进行长期存储。在消息队列 RabbitMQ版中,持久化或非持久化的消息都会被写入到实例磁盘中,但是在实例重启、更配、服务异常等场景下,未持久化的消息有一定几率被意外删除。配置数据持久化可以提高消息队列 RabbitMQ版实例的可...
本文说明消息队列 Kafka版涉及的专有名词和术语,帮助您更好地理解相关概念并使用该产品。 Apache KafkaApache Kafka 是一款开源的分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。关于 Apache Kafka ... TopicTopic即消息的主题,用于分类消息。 分区分区(Patition)是消息的分区,用于存储消息。一个 Topic 由一个或多个分区组成,每个分区中的消息存储于一个或多个 Broker 上。 消息保留时长消息保留时长指在磁盘容量充...
在面对众多的消息队列时,我们往往会陷入选择的困境:“消息队列那么多,该怎么选啊?Kafka 和 RabbitMQ 比较好用,用哪个更好呢?”想必大家也曾有过类似的疑问。对此本文将在接下来的内容中以 Kafka 和 RabbitMQ 为例分... 消息队列可以作为一个缓冲层,将大量的请求消息存储在队列中,然后按照系统处理能力逐渐消费这些消息,平稳地处理高峰流量。![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/1c...
消息队列 Kafka版支持配置云监控告警规则,帮助您实时关注实例的运行状态。本文档介绍典型场景下的告警规则配置示例,建议参考这些推荐的告警策略,配置监控指标的告警规则。 实例维度 实例磁盘使用容量超过 85%告警规... 您可以缩短 Topic 的消息保留时长,促使消息尽快过期,以此来清理磁盘空间。操作步骤请参考修改 Topic 配置。 扩容实例磁盘。为了避免实例磁盘超限,触发实例的消息自动删除策略,建议及时扩容实例磁盘,增加存储空间。...
消息队列 RabbitMQ版对一些指标进行了限制,请您在使用过程中注意不要超过相应的限制值,避免出现异常。 限制类型 限额 说明 实例数量 5 个 单个地域(Region)内的消息队列 RabbitMQ版实例数。您也可以通过配额中心申请提高每个地域下的最大实例数量(InstanceNum),最高可调整至 10 个。 磁盘高水位阈值 ≥ 2GiB 当磁盘的剩余空间低于 2GiB 时,自动触发磁盘高水位,此时生产者的消息生产流程会被阻塞。 消息大小 32MB 服务...
消息队列 Kafka版提供以下实例管理相关的常见问题供您参考。 FAQ 列表如何选择计算规格和存储规格 如何选择云盘 如何删除或退订实例 是否支持压缩消息? 是否支持多可用区部署 Kafka 实例? 单 AZ 实例如何切换为多 ... 如果缩短了 Topic 的消息保留时长,后端服务会根据新的配置重新检查存量数据的保存时间,部分消息可能会被判定为已过期,继而被删除。 另外,消息队列 Kafka版通过参数自动删除旧消息提供磁盘容量阈值策略,在磁盘容量...
本文档介绍 RocketMQ 客户端的使用建议,推荐在使用消息队列 RocketMQ版进行消息生产与消费之前,阅读以下使用建议,提高接入效率和业务稳定性。 日志配置RocketMQ 的日志一般是单独配置的,业务日志独立管理。日志默认保存在 ${user.home}/logs/rocketmqlogs 目录的 10 个文件中,每个文件大小为 1G,日志文件名为 rocketmq_client.log。有些业务的用户目录的磁盘空间不大,很容易造成磁盘空间不足。您可以通过设置系统变量的方式配置 ...