云主机开年特惠28.8元/年,0元秒杀等你来抢!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 天翼云新春焕新季 NEW 云主机开年特惠28.8元/年,0元秒杀等你来抢!
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      消息队列Kafka版_相关内容
      • 修改Topic
        介绍分布式消息服务Kafka修改主题功能的操作内容。 场景描述 Kafka修改主题的场景描述如下: 数据分区调整:当数据负载不均衡或者需要重新分配数据分区时,可以通过修改主题来调整数据分区的数量和分布。管理员可以根据实际情况修改主题的配置,重新分配分区,以实现更好的负载均衡和性能优化。 副本分配策略调整:Kafka的主题可以配置多个副本以实现数据冗余和高可用性。当需要调整副本的分配策略时,可以修改主题的配置,更改副本的分布方式,以满足不同的需求,如提高数据的可靠性或者减少网络传输的开销。 数据保留策略变更:Kafka支持根据时间或者大小等条件来设置数据的保留策略。当需要修改主题的数据保留策略时,可以修改主题的配置,调整数据的保留时间或者保留的数据大小,以便根据实际需求来管理数据的存储和清理。 操作步骤 (1)登录管理控制台。 (2)进入Kafka管理控制台。 (3)在实例列表页在操作列,目标实例行点击“管理”。 (4)点击“Topic管理”后,选择指定的Topic点击其右侧“编辑”按钮。 (5)点击“编辑”后,在弹窗中修改具体参数,详见下表:Topic参数说明。 表:Topic参数说明 参数 参数说明 分区数 您可以设置Topic的分区数,分区数越大消费的并发度越大。该参数设置为1时,消费消息时会按照先入先出的顺序进行消费。取值范围:1100,默认值:6 分区容量 每个分区的数据量的最大值,超过这个值后前面生产的消息将会被删除,保证了数据不会无限上涨挤爆磁盘。 是否同步刷盘 同步刷盘即确保消息被写入磁盘才会被认定为生产成功,该参数可提高可靠性,但是会影响性能。 消息保留时长 当消息生存时间超过该时长后,将会被清理,可用于控制存储成本。 最小同步副本数 该参数使得消息必须写入设定值个数的副本后,才能被认定生产成功,该参数可提高可靠性,但是过大会影响性能,且必须不大于副本数。 批处理消息最大值 每个批次中最大允许的消息大小,这影响了每次请求中能包含的消息总量和大小。 消息时间戳类型 CreateTime: 这是消息被生产者发送到Kafka时的时间戳,它表示消息创建的实际时间;LogAppendTime: 这是消息被Kafka日志接收并写入到日志文件时的时间戳,它表示消息写入 Kafka 的实际时间。 描述 topic的描述字段,可用作标记和说明。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        Topic管理
        修改Topic
      • 操作类
        Kafka服务端支持版本是多少? Kafka 1.1.0和2.3.0版本。 创建的Kafka实例是集群模式么? 创建一个Kafka实例即为一个集群实例。 Kafka实例是否支持修改访问端口? Kafka实例的访问端口固定,不支持修改。 如果是访问未开启SASL的Kafka专享实例,访问端口为9092。 如果是访问开启SASL的Kafka专享实例,访问端口为9093。 在访问Kafka实例之前,需要确保安全组是否配置正确。 Kafka实例的SSL证书有效期多长? Kafka实例开启SASL时,需进行单向认证,证书有效期足够长(超过15年),客户端不需要关注证书过期风险。 如何将Kafka实例中的数据同步到另一个Kafka实例中? Kafka实例之间没有好的实时同步方案,如果需要做实例迁移,可以同时向两个实例生产消息,源实例中的消息可继续消费,待源实例的消息数据全部被消费完或老化后,业务可迁移到新的Kafka实例。 Kafka实例的SASLSSL开关如何修改? Kafka SASLSSL开关不支持创建实例后修改,在创建时,请慎重选择,如果创建后需要修改,需要重新创建实例。 购买实例时选择的单AZ,怎样可以扩展为多AZ? 已购买的实例无法扩展AZ,请重新购买多AZ的实例。 Kafka扩容会影响业务吗? Kafka扩容带宽/存储空间,都不会影响业务的使用。 Kafka实例创建后,能修改VPC和子网吗? 不能修改VPC和子网。 Kafka实例版本可以升级吗? Kafka实例创建成功后,实例版本不支持升级。您可以重新创建Kafka实例,实现升级Kafka实例的版本。
        来自:
        帮助文档
        专属云分布式消息服务Kafka
        常见问题
        操作类
      • Kafka Broker节点CPU高负载
        本章节介绍Kafka Broker CPU高负载故障演练。 背景介绍 分布式系统中作为数据交换和异步解耦核心的 Kafka 集群,其 Broker 节点 CPU 易因高消息吞吐量、过多消费者组、数据复制同步及消息压缩解压缩等因素出现持续高负载,进而引发消息延迟、吞吐量下降等问题,本演练可有效测试系统的应对与恢复能力。 基本原理 指定或随机一个Broker节点启动自定义程序,空跑for循环来消耗CPU时间片。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择分布式消息服务Kafka,然后单击添加资源。 3. 在弹出的对话框中,勾选目标分布式消息服务Kafka实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择分布式消息服务Kafka。 添加实例 :单击添加实例 ,勾选上一步中添加的分布式消息服务Kafka实例。 添加故障动作 :单击立即添加 ,在列表中选择Broker CPU高负载动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 CPU占用率:指定 CPU 负载百分比,取值在0 100之间
        来自:
        帮助文档
        应用高可用
        用户指南
        故障演练服务
        故障动作库
        中间件
        分布式消息服务Kafka
        Kafka Broker节点CPU高负载
      • 目标Kafka高级配置
        本节为您介绍数据库迁移工具目标库高级配置。 batch.size 用于指定缓冲区一批数据最大值 linger.ms 指定如果数据迟迟未达到 batch.size,等待linger.time之后就会发送数据 buffer.memory RecordAccumulator 缓冲区总大小 acks 0:生产者发送过来的数据,不需要等数据落盘应答 1:生产者发送过来的数据,Leader收到数据后应答 1(all):生产者发送过来的数据,Leader+和 isr 队列里面的所有节点收齐数据后应答 max.in.flight.requests.per.connection 允许最多没有返回 ack 的次数,默认为 5,开启幂等性要保证该值是 15 的数字 retry.backoff.ms 当消息发送出现错误的时候,系统会重发消息的重试次数 compression.type 生产者发送的所有数据的压缩方式 partition 指定kafka分区
        来自:
        帮助文档
        云迁移服务CMS
        用户指南
        数据库迁移服务模块
        数据传输
        数据同步
        数据订阅
        任务创建
        目标Kafka高级配置
      • 客户端首次接入分布式消息服务Kafka时出现异常的排查方法
        本节介绍客户端首次接入分布式消息服务Kafka时出现异常的排查方法 客户端首次接入分布式消息服务Kafka时如果出现异常,您可以通过以下三个方面进行排查: 网络连通问题:通常有如下几种情况可能会导致网络不通,客户端无法连接分布式消息服务Kafka的服务端。 (1)ECS实例(客户端)与分布式消息服务Kafka实例不在同一个VPC内。关于如何通过VPC网络接入服务端,请参见VPC接入。 (2)本地客户端访问非公网的分布式消息服务Kafka实例。您可以通过公网接入服务端。 客户端版本问题:客户端版本太低可能会出现异常,建议升级到与服务端匹配的客户端版本。 配置问题:默认接入点配置错误等都可能导致接入失败。您可以参见快速入门进行配置检查。
        来自:
        帮助文档
        分布式消息服务Kafka
        常见问题
        连接问题
        客户端首次接入分布式消息服务Kafka时出现异常的排查方法
      • RocketMQ C++ SDK
        收取普通消息 include include include "rocketmq/DefaultMQPushConsumer.h" using namespace rocketmq; class ConcurrentMessageListener : public MessageListenerConcurrently { public: ConsumeStatus consumeMessage(const std::vector &msgs) { for (auto item msgs.begin(); item ! msgs.end(); item++) { std::cout getTopic() getMsgId() setNamesrvAddr("your access point"); consumer>setSessionCredentials("ak", "sk"); ConcurrentMessageListener messageListener new ConcurrentMessageListener(); consumer>subscribe("topicname", "tag"); consumer>registerMessageListener(messageListener); consumer>start(); std::thisthread::sleepfor(std::chrono::seconds(60)); consumer>shutdown(); return 0; } 使用C++客户端收发顺序消息 简介 顺序消息分为两类,全局顺序消息和分区顺序消息,通过队列数区分。 全局顺序: 对于指定的一个 Topic,所有消息的生产和消费需要遵循一定的顺序,消息的消费顺序必须和生产顺序一致,即需要严格的先入先出 FIFO的顺序进行发布和消费。 分区顺序: 对于指定的一个 Topic,其中每一个分区的消息生产与消费是有序的,同一个队列内的消息按照严格的 FIFO 顺序进行发布和订阅。消息投递到哪一个分区由消息的 Sharding Key 来进行区分。在 SDK 中可以通过指定 Sharding Key 和回调函数来控制消息投递到哪个分区。 发送顺序消息 include include include include "rocketmq/DefaultMQProducer.h" using namespace std; using namespace rocketmq; class DefineSelectMessageQueue : public MessageQueueSelector { public: MQMessageQueue select(const std::vector &mqs, const MQMessage &msg, void arg) { //若希望全局有序,请修改对应index int orderId staticcast (arg); int index orderId % mqs.size(); return mqs[index]; } }; int main(){ DefaultMQProducer producer("groupname"); //填写分布式消息服务RocketMQ版的接入点 producer.setNamesrvAddr("your access point"); //填写分布式消息服务RocketMQ版的ak、sk producer.setSessionCredentials("ak", "sk", "channel"); producer.start(); DefineSelectMessageQueue queueSelector new DefineSelectMessageQueue(); int count 64; for (int i 0; i < count; ++i) { MQMessage msg("youtopicname", "TAG", "msg content"); try { SendResult sendResult producer.send(msg, queueSelector, &i, 3, false); std::cout << "SendResult:" << sendResult.getSendStatus() << ", Message ID: " << sendResult.getMsgId() << std::endl; thisthread::sleepfor(chrono::seconds(1)); } catch (MQException e) { std::cout << "ErrorCode: " << e.GetError() << " Exception:" << e.what() << std::endl; } } std::cout << "Send " << count << " messages OK, costs" << std::endl; producer.shutdown(); return 0; }
        来自:
        帮助文档
        分布式消息服务RocketMQ
        SDK参考
        RocketMQ C++ SDK
      • 创建消息通知主题
        本章节主要介绍创建消息通知主题。 操作场景 确定创建消息通知主题后,您可在消息通知服务的“主题管理”页面中,对对应的主题“添加订阅”,选择不同方式(例如短信或者邮件等)进行订阅;订阅成功后,若作业失败,则系统将会自动发送消息到您指定的订阅终端。 操作步骤 1.在“资源管理 > 队列管理”页面,单击左上角“创建消息通知主题”。 2.选择队列,单击“确定”。 说明 选择队列时,可以选择单个队列,也可以选择所有队列。 如果单个队列和所有队列的终端不一致,当选择了单个队列,同时选择了所有队列进行订阅时,在所有队列的消息通知中将不包含该队列的消息。 创建消息通知主题后,只有在订阅队列上创建的Spark作业失败时才会收到消息通知。 3.单击“主题管理”,跳转至消息通知服务“主题管理”页面。 4.在对应主题的“操作”栏中,单击“添加订阅”,选择“协议”,确定订阅方式。 5.通过单击邮件中的链接确认后,将收到“订阅成功”的信息。 6.在消息通知服务的“订阅”页面,对应的订阅状态为“已确认”,表示订阅成功。
        来自:
        帮助文档
        数据湖探索
        用户指南
        队列管理
        创建消息通知主题
      • 消息层配置
        配置项 描述 示例 消息队列名称 消息队列自定义标识。 商城北京消息队列 站点 消息队列部署所在站点。 北京站点 产品类型 消息队列技术类型: RocketMQ RocketMQ 实例类型 消息队列产品类型。 云实例 消息队列实例 消息队列对应的云实例ID。 RocketMQ810
        来自:
        帮助文档
        应用高可用
        用户指南
        应用容灾多活
        资源管理
        消息层配置
      • 惰性队列
        本文主要介绍分布式消息服务RabbitMQ的惰性队列。 使用场景 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)长时间内无法消费消息,导致消息大量堆积,使得内存使用率过高,换页频繁,可能会影响其他队列的消息收发。这种场景下,建议您启用惰性队列。 惰性队列(Lazy Queue)会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中,这样可以减少内存的消耗,但是会增加I/O的使用,影响单个队列的吞吐量。惰性队列的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储/消息堆积。 在以下情况下,推荐使用惰性队列: 队列可能会产生消息堆积 队列对性能(吞吐量)的要求不是非常高,例如TPS 1万以下的场景 希望队列有稳定的生产消费性能,不受内存影响而波动 处于以下情况时,无需使用惰性队列: RabbitMQ需要高性能的场景 队列总是很短(即队列中没有消息堆积) 设置了最大长度策略 更多关于惰性队列的说明,请参考Lazy Queues。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        高级特性
        惰性队列
      • 创建实例
        本节主要介绍分布式消息服务Kafka的订购流程。 背景信息 Kafka实例订购支持用户自定义规格和自定义特性,采用物理隔离的方式部署。租户独占Kafka实例,可根据业务需要可定制相应规格的Kafka实例。在新的资源池节点上,还支持选择主机类型和存储规格等丰富用户选项。 前提条件 具备已通过实名认证的天翼云账号 操作步骤 1. 登录管理控制台。 2. 进入Kafka管理控制台。 3. 在管理控制台右上角单击“地域名称”,选择区域。此处请选择与您的应用服务相同的区域。 4. 点击“购买实例”跳转到购买页面,根据页面订购说明进行产品开通。 5. 下载安装工具Eclipse3.6.0以上上版本 或者IntelliJ ,JDK 1.8.111以上版本。 说明 以下订购说明适用于华东1、华北2、西南1、华南2、上海36、青岛20、长沙42、南昌5、武汉41、杭州7、西南2贵州、太原4、郑州5、西安7、呼和浩特3资源池 计费模式:包周期和按需计费 引擎类型:云原生引擎和Kafka引擎。两者差别如下: 云原生引擎:大规模分区性能稳定性更高,扩容无需迁移数据。 Kafka引擎:完全兼容开源Kafka生态,占用更少IO带宽,可应对更高的性能峰值突刺。 部署方式:单可用区和多可用区部署。单可用区部署请选中任意一个AZ;多可用区部署请选中3个AZ,系统会自动将Broker节点平均分配至各可用区 自动续期:支持自动续期,支持做选择自动续期时长 节点数:3、5、7、9 主机类型:通用型和计算增强型,不同类型主机规格价格不一样,具体区别见文档弹性云主机实例规格 实例规格:主机节点规格,通用型和计算增强型规格不一致,具体以页面为准。 说明 以下订购说明适用于芜湖2、上海7、重庆2、乌鲁木齐27、石家庄20、内蒙6、北京5 资源池 计费模式:包周期和按需计费 区域:开通实例所在资源池 类型:选择产品规格,包括高级版8核32G与基础版4核16G 节点数:固定3个节点 主机类型:支持通用型主机s2、s3和s6,具体区别见文档弹性云主机实例规格通用型
        来自:
        帮助文档
        分布式消息服务Kafka
        快速入门
        创建实例
      • Kafka Broker分区Leader不可用(1)
        本章节介绍Kafka Broker分区Leader不可用故障演练。 背景介绍 分布式消息服务 Kafka 集群中,分区 Leader 节点宕机、网络分区或资源过载等因素均可能造成分区 Leader 不可用,进而引发对应分区服务中断、客户端请求失败、Leader 重选举导致延迟升高及副本同步紊乱等问题,本演练可帮助验证集群高可用选举机制的有效性、监控告警的及时性,以及业务系统应对此类故障的容错能力与恢复效率。 基本原理 指定一个或多个分区Leader,通过调用Kafka模拟Leader故障OpenAPI,触发Leader重新选举。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择分布式消息服务Kafka,然后单击添加资源。 3. 在弹出的对话框中,勾选目标分布式消息服务Kafka实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择分布式消息服务Kafka。 添加实例 :单击添加实例 ,勾选上一步中添加的分布式消息服务Kafka实例。 添加故障动作 :单击立即添加 ,在列表中选择分区Leader不可用动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 主题分区:指定需要模拟分区Leader不可用的目标对象。
        来自:
      • Kafka Broker节点主机宕机
        本章节介绍Kafka Broker节点主机宕机故障演练。 背景介绍 高性能高可靠的分布式消息服务 Kafka 在复杂分布式环境中仍可能因 Broker 节点宕机引发数据丢失、集群可用性下降、请求延迟升高、副本同步滞后等严重问题,本演练可测试业务系统应对此类核心组件故障的响应能力、高可用切换机制及数据一致性保障效果。 基本原理 指定或随机一个Broker节点进行关机。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择分布式消息服务Kafka,然后单击添加资源。 3. 在弹出的对话框中,勾选目标分布式消息服务Kafka实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择分布式消息服务Kafka。 添加实例 :单击添加实例 ,勾选上一步中添加的分布式消息服务Kafka实例。 添加故障动作 :单击立即添加 ,在列表中选择Broker宕机动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 故障节点:可选择随机一个节点或者特定的节点。
        来自:
        帮助文档
        应用高可用
        用户指南
        故障演练服务
        故障动作库
        中间件
        分布式消息服务Kafka
        Kafka Broker节点主机宕机
      • 功能特性
        延迟队列 一般的队列,消息一旦进入队列就会被消费者立即消费。延迟队列就是进入该队列的消息会被消费者延迟消费,延迟队列中存储的对象是的延迟消息,“延迟消息”是指当消息被发送以后,等待特定的时间后,消费者才能拿到这个消息进行消费。RabbitMQ提供TTL配合死信队列和延时队列插件两种方式来满足延时消息业务场景。 死信队列 当消息在一个队列中变成死信之后,他能被重新发送到另一个交换器中,这个交换器成为死信交换器,与该交换器绑定的队列称为死信队列。消息变成死信有下面几种情况: 消息被拒绝 消息过期 队列达到最大长度 DLX也是一个正常的交换器,和一般的交换器没有区别,他能在任何的队列上面被指定,实际上就是设置某个队列的属性。当这个队列中有死信的时候,RabbitMQ会自动将这个消息重新发送到设置的交换器上,进而被路由到另一个队列。当发生异常的时候,消息不能够被消费者正常消费,被加入到了死信队列中。后续的程序可以根据死信队列中的内容分析当时发生的异常,进而改善和优化系统。 优先级队列 优先级队列是指优先级高的消息往往放在队列的head头部,相比低优先级的消息,要优先投递给消费者进行处理。 在RabbitMQ中,我们可以设置消息的优先级,在发送消息时指定消息的优先级,可以分为10个级别,级别越高优先级越大。当多个消息拥有相同的优先级时,它们按照FIFO的顺序排序。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        产品简介
        功能特性
      • Kafka Broker节点磁盘IO高负载
        本章节介绍Kafka Broker节点磁盘IO高负载故障演练。 背景介绍 分布式消息服务 Kafka 集群的性能与稳定性高度依赖底层磁盘 IO 能力,高并发写入、集群数据复制、海量消息存储检索及磁盘故障恢复等场景易导致 Broker 节点磁盘 IO 触达瓶颈,引发消息持久化延迟等问题,本演练可测试业务系统的响应与恢复能力。 基本原理 指定或随机一个Broker节点先通过dd命令将数据写入文件中,然后再通过循环读写文件占用磁盘带宽。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择分布式消息服务Kafka,然后单击添加资源。 3. 在弹出的对话框中,勾选目标分布式消息服务Kafka实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择分布式消息服务Kafka。 添加实例 :单击添加实例 ,勾选上一步中添加的分布式消息服务Kafka实例。 添加故障动作 :单击立即添加 ,在列表中选择Broker 磁盘IO高负载动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 读负载:开启读压力模式,创建一个临时文件并对其进行持续的读取操作。 写负载:开启写压力模式,持续向一个临时文件写入数据。 块大小:控制单次读写操作的数据块大小,单位为MB。增大此值可以提升单次操作的 IO 压力。通常保持默认值即可。
        来自:
        帮助文档
        应用高可用
        用户指南
        故障演练服务
        故障动作库
        中间件
        分布式消息服务Kafka
        Kafka Broker节点磁盘IO高负载
      • RabbitMQ相关概念
        本文主要介绍分布式消息服务RabbitMQ的相关概念。 天翼云分布式消息服务RabbitMQ作为消息引擎,RabbitMQ是一个生产者和消费者模型,主要负责接收、存储和转发消息。以下概念基于RabbitMQ进行描述。 消息 消息一般分为两部分,消息体和标签,标签主要用来描述这条消息,消息体是消息的内容,是一个JSON体或者数据等。 生产者发送消息,消费者消费消息,生产者与消费者彼此并无直接关系。 生产者(Producer) 即向队列发送消息的一方。发布消息的最终目的在于将消息内容传递给其他系统/模块,使对方按照约定处理该消息。 消费者(Consumer) 接收消息的一方。消费者订阅RabbitMQ的队列,当消费者消费一条消息时,只是消费消息的消息体。在消息路由的过程中,会丢弃标签,存入到队列中的只有消息体。 队列(Queue) 队列是用于存储消息的,生产者将消息送到队列,消费者从队列中获取和消费消息。多个消费者可以同时订阅同一个队列,队列里的消息分配给不同的消费者。 代理(Broker) 消息中间件的服务节点。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        产品简介
        RabbitMQ相关概念
      • 修改配置参数
        本文主要介绍 修改配置参数。 操作场景 分布式消息服务Kafka为实例、Topic、消费者提供了几个常用配置参数的默认值,您可以根据实际业务需求,在控制台自行修改参数值。其他在控制台未列出的配置参数,请参考Kafka配置进行修改。 1.1.0版本实例的参数都为静态参数,2.3.0/2.7版本实例的参数分为动态参数和静态参数: 动态参数:动态参数修改成功后,无需重启实例,立即生效。 静态参数:静态参数修改成功后,需要手动重启实例才能生效。 说明 部分老实例不支持修改配置参数,具体以控制台为准,此时请联系客服解决。 前提条件 Kafka实例的状态为“运行中”时,才能修改配置参数。 操作步骤 步骤 1 登录管理控制台。 步骤 2 在管理控制台右上角单击,选择区域。 说明 请选择Kafka实例所在的区域。 步骤 3 在管理控制台左上角单击,选择“企业中间件”“分布式消息服务”“Kafka专享版”,进入分布式消息服务Kafka专享版页面。 步骤 4 单击Kafka实例的名称,进入实例详情页面。 步骤 5 在“配置参数”页签,在待修改参数所在行,单击“编辑”,修改配置参数。1.1.0版本实例的参数说明如下表所示,2.3.0/2.7版本实例的参数说明如下表所示。 表动态参数说明(1.1.0版本) 参数 参数说明 参数范围 默认值 auto.create.groups.enable 是否开启自动创建消费组功能。 true/false true 表 静态参数说明(1.1.0版本) 参数 参数说明 参数范围 默认值 min.insync.replicas 当producer将acks设置为“all”(或“1”)时,此配置指定必须确认写入才能被认为成功的副本的最小数量。 1 ~ 3 1 message.max.bytes 单条消息的最大长度(单位:字节)。 0 ~ 10485760 10485760 unclean.leader.election.enable 指示是否启用不在ISR集合中的副本选为领导者作为最后的手段,即使这样做可能导致数据丢失。 true/false true connections.max.idle.ms 此参数用来指定在多少毫秒之后,关闭空闲的连接。 5000 ~ 600000 600000 log.retention.hours 日志文件最大保存时间。单位为小时。如果Topic已经设置了老化时间,则此参数对此Topic不生效。仅在Topic未设置老化时间时,此参数才对此Topic生效。 1 ~ 168 72 max.connections.per.ip 每个IP允许的最大连接数。超过此连接数的连接请求将被丢弃。 100 ~ 20000 1000 group.max.session.timeout.ms consumer允许的最大会话超时时间,单位为ms。超时时间越长,consumer就能在心跳探测周期内有更多时间处理消息,但也会使故障检测花费更长时间。 6000 ~ 1800000 1800000 default.replication.factor 自动创建Topic时的默认副本个数。 1 ~ 3 3 num.partitions 自动创建Topic时的默认分区数。 1 ~ 100 3 group.min.session.timeout.ms consumer允许的最小会话超时时间,单位为ms。超时时间越短,consumer的心跳探测越频繁,可以使故障检测更快,但会导致broker被抢占更多的资源。 6000 ~ 300000 6000 表动态参数说明(2.3.0/2.7版本) 参数 参数说明 参数范围 默认值 min.insync.replicas 当producer将acks设置为“all”(或“1”)时,此配置指定必须确认写入才能被认为成功的副本的最小数量。 1 ~ 3 1 message.max.bytes 单条消息的最大长度(单位:字节)。 0 ~ 10485760 10485760 auto.create.groups.enable 是否开启自动创建消费组功能。 true/false true max.connections.per.ip 每个IP允许的最大连接数。超过此连接数的连接请求将被丢弃。 100 ~ 20000 1000 unclean.leader.election.enable 指示是否启用不在ISR集合中的副本选为领导者作为最后的手段,即使这样做可能导致数据丢失。 true/false true 表静态参数说明(2.3.0/2.7版本) 参数 参数说明 参数范围 默认值 connections.max.idle.ms 此参数用来指定在多少毫秒之后,关闭空闲的连接。 5000 ~ 600000 600000 log.retention.hours 日志文件最大保存时间。单位为小时。如果Topic已经设置了老化时间,则此参数对此Topic不生效。仅在Topic未设置老化时间时,此参数才对此Topic生效。 1 ~ 168 72 group.max.session.timeout.ms consumer允许的最大会话超时时间,单位为ms。超时时间越长,consumer就能在心跳探测周期内有更多时间处理消息,但也会使故障检测花费更长时间。 6000 ~ 1800000 1800000 default.replication.factor 自动创建Topic时的默认副本个数。 1 ~ 3 3 num.partitions 自动创建Topic时的默认分区数。 1 ~ 100 3 group.min.session.timeout.ms consumer允许的最小会话超时时间,单位为ms。超时时间越短,consumer的心跳探测越频繁,可以使故障检测更快,但会导致broker被抢占更多的资源。 6000 ~ 300000 6000 说明 如果需要批量修改参数,单击“批量编辑”,可以一次性编辑多个动态参数或静态参数的运行值。 如果需要恢复默认值,在待修改参数后,单击“恢复默认”。 步骤 6 单击“保存”,完成参数的修改。 说明 动态参数修改成功后,无需重启实例,立即生效。 静态参数修改成功后,需要手动重启实例才能生效。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        修改配置参数
      • 安全分析
        生产者 是用来构建并传输数据到服务端的逻辑概念,负责把数据放入消息队列。 订阅器 用于订阅态势感知(专业版)管道消息,一个管道可由多个订阅器进行订阅,态势感知(专业版)通过订阅器进行消息分发。 消费者 是用来接收并处理数据的运行实体,负责通过订阅器把态势感知(专业版)管道中的消息进行消费并处理。 消息队列 是数据存储和传输的实际容器。 威胁检测模型 是一种被训练的AI智能识别算法模型。能针对特定威胁,自动化的完成数据汇聚、分析和报警,这种检测模式具备较好的泛化能力,防躲避能力强,可在不同业务系统中发挥同等效果,应对复杂的新型攻击。
        来自:
        帮助文档
        态势感知(专业版)(新版)
        产品介绍
        基本概念
        安全分析
      • 退订
        介绍分布式消息服务Kafka退订操作内容。 场景描述 分布式消息服务kafka为用户提供全面周到的服务,支持用户退订的需求。用户如不需要继续使用该分布式消息服务Kafka实例,可进行删除实例操作,即退订操作。 操作步骤 (1)登录管理控制台。 (2)进入Kafka管理控制台。 (3)在实例列表页在操作列,目标实例行点击“更多”,点击“退订”。 (4)点击“退订”后,会打开新页面,点击“确定” 注意 退订的实例处于冻结状态,请务必在实例退订前停止全部的应用。 在申请退订前,请做好数据备份工作,退订后数据将保留15个自然日,15天后相关数据将不予保留,且不会进行备份,务必谨慎操作。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        实例管理
        退订
      • 续订
        介绍分布式消息服务Kafka续订操作内容。 场景描述 分布式消息服务Kafka为用户提供全面周到的服务,支持用户续订的需求。针对包周期消息实例服务,用户可在到期前进行服务周期延长操作,即续订操作。 操作步骤 (1)登录管理控制台。 (2)进入Kafka管理控制台。 (3)在实例列表页在操作列,目标实例行点击“更多”,点击“续订”。 (4)点击“续订”后,会打开新页面,选择续订时长,会计算出对应价格,点击“确定”,后可到我的订单中支付。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        实例管理
        续订
      • 支持的监控指标
        队列监控指标 表3 队列支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) queuemessagesunacknowledged 队列未确认消息数 该指标用于统计队列中已消费未确认消息数。单位:Count 0~10000000 RabbitMQ实例队列 1分钟 queuemessagesready 队列可消费消息数 该指标用于统计队列中可消费的消息数。单位:Count 0~10000000 RabbitMQ实例队列 1分钟 queueconsumers 消费者数量 该指标用于统计订阅该队列的消费者个数。单位:Count > 0 RabbitMQ实例队列 1分钟 queuemessagespublishrate 生产速率 该指标用于统计每秒该队列的消息流入数。单位:Count/s > 0 RabbitMQ实例队列 1分钟 queuemessagesackrate 消费速率(手工确认) 该指标用于统计该队列每秒传递给客户端并确认的消息数。单位:Count/s > 0 RabbitMQ实例队列 1分钟 queuemessagesdelivergetrate 消费速率 该指标用于统计该队列每秒的消息流出数。单位:Count/s > 0 RabbitMQ实例队列 1分钟 queuemessagesredeliverrate 重传速率 该指标用于统计该队列每秒的重传消息数。单位:Count/s > 0 RabbitMQ实例队列 1分钟 queuemessagespersistent 消息总数(持久化) 该指标用来统计该队列中持久消息的总数(对于瞬时队列始终为0)。单位:Count > 0 RabbitMQ实例队列 1分钟 queuemessagesram 消息总数(内存) 该指标用于统计该队列中驻留在内存中的消息总数。单位:Count > 0 RabbitMQ实例队列 1分钟 queuememory Erlang进程消耗字节数 该指标用于统计与队列关联的Erlang进程消耗的内存字节数,包括堆栈、堆和内部结构。单位:Byte > 0 RabbitMQ实例队列 1分钟 queuemessagebytes 消息大小总和 该指标用于统计该队列中所有消息的大小总和(字节)。单位:Byte > 0 RabbitMQ实例队列 1分钟
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        监控
        支持的监控指标
      • RabbitMQ惰性队列
        本文主要介绍分布式消息服务RabbitMQ的惰性队列最佳实践。 使用场景 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)长时间内无法消费消息,导致消息大量堆积,使得内存使用率过高,换页频繁,可能会影响其他队列的消息收发。这种场景下,建议您启用惰性队列。 惰性队列(Lazy Queue)会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中,这样可以减少内存的消耗,但是会增加I/O的使用,影响单个队列的吞吐量。惰性对列的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储/消息堆积。 在以下情况下,推荐使用惰性队列: 队列可能会产生消息堆积 队列对性能(吞吐量)的要求不是非常高,例如TPS 1万以下的场景 希望队列有稳定的生产消费性能,不受内存影响而波动 处于以下情况时,无需使用惰性队列: RabbitMQ需要高性能的场景 队列总是很短(即队列中没有消息堆积) 设置了最大长度策略 设置惰性队列 队列具备两种模式:default和lazy,默认模式为default。lazy模式即为惰性队列的模式,可以通过调用channel.queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map args new HashMap (); args.put("xqueuemode", "lazy"); channel.queueDeclare("myqueue", false, false, false, args); 以下示例演示在RabbitMQ的Web界面通过Policy的方式设置惰性队列。 更多关于惰性队列的说明,请参考Lazy Queues 。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        最佳实践
        RabbitMQ惰性队列
      • SDK下载及使用说明
        该页面主要介绍分布式消息服务Kafka版的SDK,您可以根据实际业务需求进行集成。 各语言SDK下载及使用 支持语言 SDK附件 Java ctyunctgkafkajavasdkv1.0.1.zip Go ctyunctgkafkagosdkv1.0.1.zip 说明 由于运行环境的多样性,部分接口在某些特定配置下可能存在适配差异,我们的技术团队将持续优化兼容性。如有问题,可提单咨询。
        来自:
        帮助文档
        分布式消息服务Kafka
        API参考
        SDK下载及使用说明
      • 云实例间迁移
        分布式消息服务Kafka提供全托管、免运维的云实例间迁移服务,用于同云实例与分布式消息服务Kafka实例之间的数据同步。本文介绍云实例间迁移的源实例类型、使用限制以及使用流程。 背景信息 云实例间迁移可以把天翼云分布式消息服务Kafka集群的元数据(Topic、Group和SASL User信息)、消息数据和点位信息同步到目标集群,迁移完成后目标集群的元数据与原集群的元数据保持一致,并且支持持续更新和完成后自动停止任务。 使用限制 1.此功能不收费,会占用当前实例的服务器资源,请结合业务流量和服务器资源占用情况,在合理的情况下进行迁移 2.单机版不支持迁移 计费说明 分布式消息服务Kafka的云实例间迁移组件处于公测阶段,不会在分布式消息服务Kafka侧产生费用。同时,天翼云不承诺迁移的SLA。 创建迁移任务 1.登录分布式消息服务Kafka控制台。 2.在左侧导航栏,单击集群迁移 ,然后单击云实例间迁移。 3.在云实例间迁移页签,单击创建任务。 4.在创建 云实例间迁移任务面板,填写任务名称,选择目标实例,然后单击下一步。 5.填写接入点,选择源实例,任务数等,具体请看参数说明。 参数说明: 参数 说明 示例 源实例 下拉框选择源实例 192.168.XX.XX:9092 任务数 选择同步数据的任务数。取值说明如下:1、6、12 1 迁移完成后自动停止任务 迁移任务会自动检测是否完成迁移 是:在检测到消息数据完成同步后停止任务 否:不停止任务,您可以手动停止任务 否 Topic 要迁移的topic信息,选填,多个用半角逗号分开,不填则迁移所有topic topic1,topic2 Groups 要迁移的group信息,选填,多个用半角逗号分开,不填则迁移所有group group1,group2 副本数是否和源集群保持一致 迁移到目标集群的topic的副本数是否和源集群保持一致,默认否 是:副本数是否和源集群保持一致,如原集群topic副本数为1,迁移后的topic副本数也为1 否:迁移后topic的副本数为3 否 6.填写完参数后,单击创建 ,完成任务的创建,在任务列表能看到一条任务,状态为等待迁移,后台调度到此任务时,会将任务状态改为迁移中。 7.其他操作 查看任务详情:单击详情。在任务详情页面,查看云实例间迁移任务的基础信息、源服务、目标服务和运行环境配置信息。 查看同步进度:单击同步进度,选择查看的Topic,可以看到对应Topic的分区id,最早点位,最新点位和当前点位信息。 启停任务:单击停止,然后在提示对话框,单击确认可停止任务。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        集群迁移
        云实例间迁移
      • Java开发环境搭建
        开发环境 Maven Apache Maven 2.5及以上版本,可至Maven官方网站下载。 JDK Java Development Kit 1.8及以上版本,可至Oracle官方网站下载。 安装后注意配置JAVA的环境变量。 IntelliJ IDEA 获取并安装IntelliJ IDEA,可至IntelliJ IDEA官方网站下载。 操作步骤 1. 下载Demo包kafkajavademo.zip 下载后解压,有如下文件: 表1 KAFKA Demo文件清单 文件名 路径 说明 ::: JavaKafkaConfigurer.java .srcmainjavajavaDemo 读取Kafka配置文件。 KafkaConsumerDemo.java .srcmainjavajavaDemo 消费消息。 KafkaMultiConsumerDemo.java .srcmainjavajavaDemo 批量消费消息。 KafkaProducerDemo.java .srcmainjavajavaDemo 生产消息。 kafka.properties .srcmainresources kafka配置参数 pom.xml . maven配置文件,包含Kafka客户端引用。 2. 打开IntelliJ IDEA,导入Demo。Demo是一个Maven构建的Java工程,因此需要配置JDK环境,以及IDEA的Maven插件。 3. 修改Kafka配置信息。 修改kafka.properties 修改demo文件中的属性变量
        来自:
        帮助文档
        分布式消息服务Kafka
        开发指南
        Java
        Java开发环境搭建
      • Kafka Broker节点CPU高负载(1)
        本章节介绍Kafka Broker CPU高负载故障演练。 背景介绍 分布式系统中作为数据交换和异步解耦核心的 Kafka 集群,其 Broker 节点 CPU 易因高消息吞吐量、过多消费者组、数据复制同步及消息压缩解压缩等因素出现持续高负载,进而引发消息延迟、吞吐量下降等问题,本演练可有效测试系统的应对与恢复能力。 基本原理 指定或随机一个Broker节点启动自定义程序,空跑for循环来消耗CPU时间片。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择分布式消息服务Kafka,然后单击添加资源。 3. 在弹出的对话框中,勾选目标分布式消息服务Kafka实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择分布式消息服务Kafka。 添加实例 :单击添加实例 ,勾选上一步中添加的分布式消息服务Kafka实例。 添加故障动作 :单击立即添加 ,在列表中选择Broker CPU高负载动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 CPU占用率:指定 CPU 负载百分比,取值在0 100之间
        来自:
      • 续费、到期与欠费
        本节主要介绍分布式消息服务Kafka的续费、到期与欠费说明 到期前续费 手动续订:对于包年/包月订购的分布式消息服务Kafka实例,用户在资源到期前进行续费操作,可以延长原有资源到期时间,避免资源到期后冻结或超过保留期后被系统回收。详细操作请参考费用中心续订管理手动续订。 自动续订:自动续订仅针对采用包月、包年计费模式的资源,详细操作请参考费用中心续订管理自动续订。 到期处理 到期后,分布式消息服务Kafka进入保留期,您将不能正常访问及使用天翼云分布式消息服务Kafka服务,已开通的实例资源将予以保留。 若您在到期后15天内续费,自资源续订解冻开始,计算新的服务有效期,按照新的服务有效期计算费用; 若到期15天后您仍未续费,Kafka实例资源将被释放。 欠费原因 在按需计费的模式下帐号的余额不足。 按需欠费资源冻结规则 欠费后,资源进入保留期,您将不能正常访问及使用分布式消息服务Kafka,已开通的实例资源将予以保留。 若您在保留期内充值,充值后系统会自动扣减欠费金额。 若保留期到期您仍未充值,Kafka实例资源将被释放。
        来自:
        帮助文档
        分布式消息服务Kafka
        计费说明
        续费、到期与欠费
      • 产品定义
        功能特性 分布式消息服务RabbitMQ的功能特性主要体现在以下几个方面: 访问接口 支持通过API调用,提供交换器、队列增删查改等管控工作。管理控制台上进行的操作用于对交换器、队列、用户、策略等增删查改等管控工作。 队列能力 (1)优先级队列:相比低优先级的消息,要优先投递给消费者进行处理。 (2)延迟队列:延时消息,实现秒级精准定时;简单易用,在代码上只需一个参数设置即可完成,解决开源 RabbitMQ 无延时队列的痛点。 (3)死信队列:支持被拒绝消息、TTL 过期消息、队列达到最大长度(消息队列 AMQP 队列长度无上限)等 3 种类型消息自动进入死信队列的能力,确保消息不丢失。 消息能力 (1)广播消息:在同一个消费组内对所有消费者投递相同消息。 (2)事务消息:支持事务消息,可用于分布式应用。 (3)定时消息:支持消息延迟发送。解决开源 RabbitMQ 无延时队列的痛点。 安全防护 可追溯租户管理操作的记录。 起源于金融系统,支持权限控制和SSL协议。 运维监控 提供集群、交换器、队列的管理;集群、信道、连接、交换器、队列多维度指标监控。 更多信息请参见功能特性。 应用场景 分布式消息服务RabbitMQ适用于电子商务、金融服务、电信、物流和供应链管理、社交媒体、游戏开发、科学和研究领域等行业,通常用于业务的应用解耦、错峰流控与流量削峰、异步通信等场景。更多信息请参见应用场景。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        产品简介
        产品定义
      • 死信和TTL
        本章节主要介绍分布式消息服务RabbitMQ的死信和TTL。 死信和TTL(Time To Live)是RabbitMQ中需要慎用的2个特性,它们可能会对性能产生负面影响。 死信 死信是RabbitMQ中的一种消息机制,在消费消息时,如果队列里的消息满足以下任意一种情况,那么该消息将成为“死信”。 “requeue”被设置为“false”,消费者使用“basic.reject”或“basic.nack”否定应答(NACK)消息。 消息在队列的存活时间超过设置的TTL时间。 队列的消息数量已经超过最大队列长度。 死信消息会被RabbitMQ进行特殊处理,如果配置了死信队列信息,该消息将会被存储到死信队列中,如果没有配置,该消息将会被丢弃。 更多关于死信的说明,请参考Dead Letter Exchanges。 使用队列参数配置死信交换机和路由 为队列配置死信交换机,并在申明队列时指定“xdeadletterexchange”和“xdeadletterroutingkey”参数。队列根据“xdeadletterexchange”将死信消息发送到死信交换机中,并根据“xdeadletterroutingkey”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct"); Map args new HashMap (); args.put("xdeadletterexchange", "some.exchange.name"); args.put("xdeadletterroutingkey", "someroutingkey"); channel.queueDeclare("myqueue", false, false, false, args); TTL TTL即过期时间。RabbitMQ支持设置消息和队列的TTL,消息的TTL可以通过以下两种方法设置: 通过队列属性设置:队列中所有消息的具有相同的过期时间。 对消息本身单独设置:每条消息可以设置不同的TTL。 如果两种方法同时使用,以较小的TTL为准。 消息在队列中的生存时间超过了TTL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。 更多关于TTL的说明,请参考TTL。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        高级特性
        死信和TTL
      • 消费失败
        Kafka 是按分区一条一条消息顺序向前推进消费的,如果消费端拿到某条消息后执行消费逻辑失败,比如应用服务器出现了脏数据,导致某条消息处理失败,等待人工干预,那么有以下两种处理方式: 失败后一直尝试再次执行消费逻辑。这种方式有可能造成消费线程阻塞在当前消息,无法向前推进,造成消息堆积。 由于 Kafka 自身没有处理失败消息的设计,实践中通常会打印失败的消息、或者存储到某个服务(比如创建一个 Topic 专门用来放失败的消息),然后定时 check 失败消息的情况,分析失败原因,根据情况处理。
        来自:
        帮助文档
        分布式消息服务Kafka
        最佳实践
        消费者实践
        消费失败
      • 如何实现RabbitMQ的高性能
        本文主要介绍如何实现RabbitMQ的高性能最佳实践。 本章节基于吞吐量和可靠性两个指标,指导您通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担,为了释放内存,RabbitMQ会将消息刷新到磁盘。这个过程通常需要时间,由于需要重建索引,重启包含大量消息的集群非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,对RabbitMQ节点的性能产生负面影响。 要获得最佳性能,应尽可能缩短队列。建议始终保持队列消息堆积的数量在0左右。 对于经常受到消息峰值影响的应用程序,和对吞吐量要求较高的应用程序,建议在队列上设置 最大长度 。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 最大长度可以通过Policy设置,也可以通过在队列声明时使用对应参数设置。 在Policy中设置 在队列声明时使用对应参数设置 //创建队列 HashMap map new HashMap<>(); //设置队列最大长度 map.put("xmaxlength",10 ); //设置队列溢出方式保留前10 map.put("xoverflow","rejectpublish" ); channel.queueDeclare(queueName,false,false,false,map); 当队列长度超过设置的最大长度时,RabbitMQ的默认做法是将队列头部的信息(队列中最老的消息)丢弃或变成死信。可以通过设置不同的overflow 值来改变这种方式,如果overflow 值设置为 drophead ,表示从队列前面丢弃或deadletter消息,保存后n条消息。如果overflow 值设置为 rejectpublish ,表示最近发布的消息将被丢弃,即保存前n条消息。 说明 如果同时使用以上两种方式设置队列的最大长度,两者中较小的值将被使用。 超过队列最大长度的消息会被丢弃,请谨慎使用。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        最佳实践
        如何实现RabbitMQ的高性能
      • 惰性队列
        介绍分布式消息服务RabbitMQ惰性队列能力。 使用场景 RabbitMQ从3.6.0版本开始引入了惰性队列(Lazy Queue)的概念。惰性队列会尽可能的将消息存入磁盘中,而在消费者消费到相应的消息时才会被加载到内存中,它的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储。当消费者由于各种各样的原因(比如消费者下线、宕机亦或者是由于维护而关闭等)而致使长时间内不能消费消息造成堆积时,惰性队列就很有必要了 默认情况下,当生产者将消息发送到RabbitMQ的时候,队列中的消息会尽可能的存储在内存之中,这样可以更加快速的将消息发送给消费者。即使是持久化的消息,在被写入磁盘的同时也会在内存中驻留一份备份。当RabbitMQ需要释放内存的时候,会将内存中的消息换页至磁盘中,这个操作会耗费较长的时间,也会阻塞队列的操作,进而无法接收新的消息。虽然RabbitMQ的开发者们一直在升级相关的算法,但是效果始终不太理想,尤其是在消息量特别大的时候 惰性队列会将接收到的消息直接存入文件系统中,而不管是持久化的或者是非持久化的,这样可以减少了内存的消耗,但是会增加I/O的使用,如果消息是持久化的,那么这样的I/O操作不可避免,惰性队列和持久化消息可谓是“最佳拍档”。注意如果惰性队列中存储的是非持久化的消息,内存的使用率会一直很稳定,但是重启之后消息一样会丢失。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        高级特性
        惰性队列
      • 如何实现RabbitMQ的高性能
        本节介绍了如何实现RabbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担,为了释放内存,RabbitMQ会将消息刷新到磁盘。这个过程通常需要时间,由于需要重建索引,重启包含大量消息的集群非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,对RabbitMQ节点的性能产生负面影响。 要获得最佳性能,应尽可能缩短队列。建议始终保持队列消息堆积的数量在0左右。 对于经常受到消息峰值影响的应用程序,和对吞吐量要求较高的应用程序,建议在队列上设置最大长度。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 在队列声明时使用对应参数设置。 java //创建队列 HashMap map new HashMap<>(); //设置队列最大长度 map.put("xmaxlength",10 ); //设置队列溢出方式保留前10 map.put("xoverflow","rejectpublish" ); channel.queueDeclare(queueName,false,false,false,map); 当队列长度超过设置的最大长度时,RabbitMQ的默认做法是将队列头部的信息(队列中最老的消息)丢弃或变成死信。可以通过设置不同的overflow值来改变这种方式,如果overflow值设置为drophead,表示从队列前面丢弃或deadletter消息,保存后n条消息。如果overflow值设置为rejectpublish,表示最近发布的消息将被丢弃,即保存前n条消息。 自动删除不再使用的队列 客户端可能连接失败导致队列被残留,大量的残留队列会影响实例的性能。RabbitMQ提供三种自动删除队列的方法: 在队列中设置TTL策略:例如TTL策略设置为28天,当持续28天队列未被使用时,此队列将被删除。 使用autodelete队列:当最后一个消费者退出或通道/连接关闭(或与服务器的TCP连接丢失)时,autodelete队列会被删除。 使用exclusive queue:exclusive queue只能在创建它的连接中使用,当此连接关闭或消失时,exclusive queue会被删除。 设置方法如下: java boolean exclusive true; boolean autoDelete true; channel.queueDeclare(QUEUENAME, durable, exclusive, autoDelete, arguments);
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        最佳实践
        如何实现RabbitMQ的高性能
      • 1
      • ...
      • 5
      • 6
      • 7
      • 8
      • 9
      • ...
      • 244
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      天翼云新春焕新季

      云主机开年特惠28.8元/年,0元秒杀等你来抢!

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      出海产品促销专区

      爆款云主机低至2折,高性价比,不限新老速来抢购!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      物理机 DPS

      多活容灾服务

      轻量型云主机

      弹性高性能计算 E-HPC

      训推服务

      模型推理服务

      人脸活体检测

      通用型OCR

      身份证识别

      推荐文档

      Android客户端需求

      支持的监控指标

      文档下载

      安装网页防篡改集中管理中心

      新品上线

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号