检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
业务过载处理建议 方案概述 Kafka业务过载,一般表现为CPU使用率高、磁盘写满的现象。 当CPU使用率过高时,系统的运行速度会降低,并有加速硬件损坏的风险。 当磁盘写满时,相应磁盘上的Kafka日志目录会出现offline问题。此时,该磁盘上的分区副本不可读写,降低了分区的可
扩容存储空间不会影响业务。 代理规格 若Topic为单副本,扩容/缩容期间无法对该Topic生产消息或消费消息,会造成业务中断。 若Topic为多副本,扩容/缩容代理规格不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期扩容/缩容。 扩
Kafka业务使用流程 分布式消息服务Kafka版是一款基于开源社区版Kafka提供的消息队列服务,向用户提供计算、存储和带宽资源独占式的Kafka实例。使用Kafka实例生产消费消息的流程如下图所示。 图1 Kafka业务使用流程 创建用户并授权使用DMS for Kafka 创建IAM用户,并授予DMS
在实际业务过程中可能会遇到各节点间或分区之间业务数据不均衡的情况,业务数据不均衡会降低Kafka集群的性能,降低资源使用率。 业务数据不均衡原因 业务中部分Topic的流量远大于其他Topic,会导致节点间的数据不均衡。 生产者发送消息时指定了分区,未指定的分区没有消息,会导致分区间的数据不均衡。
扩容存储空间不会影响业务。 代理规格 若Topic为单副本,扩容/缩容期间无法对该Topic生产消息或消费消息,会造成业务中断。 若Topic为多副本,扩容/缩容代理规格不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期扩容/缩容。 扩
ka,部分还涉及将持久化的消息文件迁移到新的Kafka。主要涉及到以下2类场景: 业务上云且不希望业务有中断。 在上云过程中,连续性要求高的业务,需要平滑迁移,不能有长时间的中断。 在云上变更业务部署。 单AZ部署的Kafka实例,不具备AZ之间的容灾能力。用户对可靠性要求提升后,需要迁移到多AZ部署的实例上。
备份和容灾:企业存在多个数据中心,为了防止其中一个数据中心出现问题,导致业务不可用,会将集群数据同步备份在多个不同的数据中心。 集群迁移:当今很多企业将业务迁移上云,迁移过程中需要确保线下集群和云上集群的数据同步,保证业务的连续性。 方案架构 使用MirrorMaker可以实现将源集群中
properties 参数说明如下: 连接地址:从前提条件获取的连接地址。 Topic名称:Kafka实例下创建的Topic名称。 消费组名称:根据您的业务需求,设定消费组名称。如果已经在配置文件中指定了消费组名称,请确保命令行中的消费组名称与配置文件中的相同,否则可能消费失败。消费组名称开头
Kafka客户端参数配置建议 Kafka客户端的配置参数很多,以下提供Producer和Consumer几个常用参数配置。不同版本的Kafka客户端参数名称可能不同,以下配置参数适用于1.1.0及以上版本。其他参数和版本配置,请参考Kafka配置。 表1 Producer参数 参数 默认值 推荐值 说明
对数据不能丢的业务场景,但是会导致生产业务失败。 自动删除策略 该策略场景下磁盘使用到达容量阈值95%后,依旧可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据可能会丢失。 以上两种策略需要基于业务对数据和业务的可靠性来进行选
靠性,支持消息查询、消息迁移等高级特性。 功能不完善,需额外投入进行开发。 稳定可靠 稳定高可用 支持跨AZ部署,提升可靠性。故障自动发现并上报告警,保证用户关键业务的可靠运行。 需要自己开发或基于开源实现,开发成本高昂,无法保证业务可靠运行。 无忧运维 后台运维对租户完全透明,
若Topic为单副本,扩容/缩容期间无法对该Topic生产消息或消费消息,会造成业务中断。 若Topic为多副本,扩容/缩容代理规格不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期扩容/缩容。 扩容/缩容代理规格的过程中,节点滚动重启造成分区Le
修改Kafka Topic分区数 创建Kafka实例Topic成功之后,您可以根据业务需要修改Topic的分区数。分区数只支持增加,不支持减少。 修改分区数,不会重启实例,不会影响业务。 修改Topic分区数的方法如下: 在控制台修改Topic分区数 在Kafka Manager修改Topic分区数
硬盘、未绑定的EIP等。 计费模式优化 不同类型的业务对资源使用周期有不同的要求,为每一类业务确定合适的计费模式,灵活组合以达到最优效果。 针对长期稳定的成熟业务,使用包年/包月计费模式。 针对不能中断的短期、突增或不可预测的业务,使用按需计费模式。 实现自动化运维 华为云也提供
消息从生产到消费时延高达6分钟 问题现象 消息从生产到消费的端到端时延偶现到达6分钟,业务对消息时延较为敏感。 分析过程 怀疑是业务堆积,处理慢导致时延。 通过查看监控数据,发现业务请求并不是很多,堆积最多时也只有50条消息,同时每秒新增消息只有10条左右,应该还没有到达处理极限。
以根据业务需要修改Topic的副本数。 通过修改分区平衡可以实现修改副本数,Kafka控制台提供两种修改副本数的方法:使用自动平衡修改副本数和使用手动平衡修改副本数。 单机实例不支持修改副本数。 操作影响 对数据量大的Topic进行分区平衡,会占用大量的网络和存储带宽,业务可能会
bytes参数,具体步骤请参见修改Kafka实例配置参数。 message.max.bytes参数最大只能修改为10485760字节,如果您实际的业务场景中单条消息的大小超过此值,建议使用压缩算法或者业务逻辑做切分。 父主题: 消息问题
规则。 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对
置Kafka所有节点IP和主机名映射,避免Kafka client做反向解析,阻塞连接建立。 磁盘容量申请超过业务量 * 副本数的2倍,即保留磁盘空闲50%左右。 业务进程JVM内存使用确保无频繁FGC,否则会阻塞消息的生产和消费。 父主题: 配置Kafka客户端
入门实践 当您购买了Kafka实例后,可以根据自身的业务需求使用分布式消息服务Kafka版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 使用MirrorMaker跨集群同步数据 使用MirrorMaker可以实现将源集群中的数据镜像复制到目标集群中。 配置消息堆积数监控