检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优化消费者轮询(Polling) 方案概述 应用场景 在分布式消息服务Kafka版提供的原生Kafka SDK中,消费者可以自定义拉取消息的时长,如果需要长时间的拉取消息,只需要把poll(long)方法的参数设置合适的值即可。
IntelliJ IDEA 获取并安装IntelliJ IDEA,可至IntelliJ IDEA官方网站下载。 操作步骤 下载Demo包。 下载后解压,有如下文件: 表1 Kafka Demo文件清单 文件名 路径 说明 DmsConsumer.java .
优化消费者轮询(Polling) 本章节介绍在对消费消息实时性要求不高的场景中,如何优化消费者Polling,减少消息较少或者没有消息时的资源浪费。 Logstash对接Kafka生产消费消息 Kafka实例可以作为Logstash输入源,也可以作为Logstash输出源。
实施步骤 业务数据不均衡的处理措施: 优化业务中Topic的设计,对于数据量特别大的Topic,可对业务数据做进一步的细分,并分配到不同的Topic上。 生产者生产消息时,尽量把消息均衡发送到不同的分区上,确保分区间的数据均衡。
资源优化 您可以通过云监控服务监控资源的使用情况,识别空闲资源,寻找节约成本的机会。也可以根据成本分析阶段的分析结果识别成本偏高的资源,然后采取针对性的优化措施。 监控资源利用率,评估当前配置是否过高。例如:CPU、内存、云硬盘等资源的利用率。 监控闲置的资源,避免浪费。
实施步骤 CPU使用率高的处理措施: 优化线程参数num.io.threads、num.network.threads和num.replica.fetchers的配置。
如网站的用户注册场景,在用户注册成功后,还需要发送注册邮件与注册短信,这两个流程使用Kafka消息服务通知邮件发送系统与短信发送系统,从而提升注册流程的响应速度。
实践验证 成熟度高 经受电商网站大规模访问考验,并且已经在华为云许多产品中使用,广泛部署运行在分布于世界各地的电信级客户云业务系统里。满足严苛的电信级故障模式库标准。紧随社区主流版本,修复开源bug,持续上线新功能,进行版本升级。
提高消费者的消费速度,通过优化消费者处理逻辑(减少复杂计算、第三方接口调用和读库操作),减少消费时间。 增加消费者每次拉取消息的数量:拉取数据/处理时间 >= 生产速度。 生产者端 生产消息时,给消息Key加随机后缀,使消息均衡分布到不同分区上。
需要客户侧排查自身业务,优化自身业务处理逻辑,提高处理效率,降低阻塞时间。 背景知识介绍 消费组可以简单认为有两种状态REBALANCING和STABILIZED。
版本发布说明 表1列出了分布式消息服务Kafka版相对开源版本新增/优化的特性。
producer使用建议 同步复制客户端需要配合使用:acks=all 配置发送失败重试:retries=3 发送优化:对于时延敏感的信息,设置linger.ms=0。对于时延不敏感的信息,设置linger.ms在100~1000之间。
成本管理 您可以从成本构成、成本分配、成本分析和成本优化四个维度来管理成本。更多详情,请参见成本管理。 产品定价 如您需要快速了解分布式消息服务Kafka版的具体价格,请参见分布式消息服务Kafka版价格详情。