检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本文汇总了基于分布式消息服务Kafka版常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松使用Kafka。 表1 Kafka最佳实践一览表 最佳实践 说明 提高Kafka消息处理效率 本章节提供了生产者和消费者对于消息的使用建议,以提高消息发送和消息消费的效率与可靠性。 优化消费者轮询(Polling)
输入偏移量,最早偏移量到输入偏移量之前的数据将被删除。例如:最早偏移量为2,输入的偏移量为5,此时会删除偏移量为2到4的消息。 说明: 如果“偏移量”设置为“-1”,表示删除分区中所有的消息。 如果您输入的偏移量不在指定分区的最早偏移量和最晚偏移量之间,消息将不会被删除。 如果需要删除多个分区的消息,单击“
cluster*3规格的实例分区数上限为750,此时无法缩容。 扩容/缩容代理规格的过程 在扩容/缩容代理规格的过程中,代理采用滚动重启的方式进行实例变更,具体过程如下(以3个代理为例介绍): 停止Broker 0的Kafka进程 扩容/缩容Broker 0的规格 重启Broker 0的Kafka进程
自动续费 自动续费可以减少手动续费的管理成本,避免因忘记手动续费而导致Kafka实例被自动删除。自动续费的规则如下所述: 以Kafka实例的到期日计算第一次自动续费日期和计费周期。 Kafka实例自动续费周期根据您开通自动续费的途径不同,遵循不同的规则。 在Kafka实例到期前均可
以下为您提供常用Golang客户端的对比,具体参见表1。 表1 常用Golang客户端对比 客户端 优点 缺点 Confluent-Kafka-go Confluent-Kafka-go是由Confluent提供的官方Kafka客户端库,与Kafka完全兼容,支持所有的Kafka特性。
用量类型的不同,分为按小时、按天、按月三种周期进行结算,具体扣费规则可以参考按需产品周期结算说明。Kafka实例的按需计费模式按小时进行结算。 按需计费资源的扣费时间可能会滞后于结算周期,例如:按小时结算的Kafka实例在8:30删除资源,但是8:00~9:00期间产生的费用,通
如果您需要长期使用当前按需购买的Kafka实例,可以将该Kafka实例转为包年/包月计费模式,以节省开支。按需计费变更为包年/包月会生成新的订单,用户支付订单后,包年/包月资源将立即生效。 假设用户于2023/04/18 15:29:16购买了一个按需计费的Kafka实例,由于业务需要,于2023/04/18
在诊断记录所在行,单击“查看详情”,进入“诊断详情”页面。 在页面顶部查看消息组异常项、失败项和正常项的数量。在“诊断维度”区域,单击包含异常项的维度名称,例如:重平衡,查看导致异常的可能原因、受影响的分区或者broker,以及解决消息堆积的建议。 图3 诊断详情 父主题: 管理消息
数量)计算的费用。 存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。 计费周期 包年/包月Kafka实例的计费周期是根据您购买的时长来确定的(以UTC+8时间为准)。一个计费周期的起点是您开通或续费资源的时间(精确到秒),终点则是到期日的23:59:59。
为成功的副本的最小数量。 1 ~ 3 1 message.max.bytes 单条消息的最大长度。 0 ~ 10485760 单位:字节 10485760 unclean.leader.election.enable 指示是否启用不在ISR集合中的副本选为领导者作为最后的手段,即使这样做可能导致数据丢失。
消费者是从Topic订阅消息的一方,消费组是由一个或多个消费者组成的。同一个消费组内,一个消费者可同时消费多个分区,但一个分区在同一时刻只能被一个消费者消费。 图1 消费关系示例图 “auto.create.groups.enable”表示在消费者进入未创建的消费组时,会自动创建此消费组。
随机后缀。 磁盘写满的处理措施: 扩容磁盘,使磁盘具备更大的存储空间。 迁移分区,将已写满的磁盘中的分区迁移到本节点的其他磁盘中。 合理设置Topic的数据老化时间,减少历史数据的容量大小。 在CPU资源情况可控的情况下,使用压缩算法对数据进行压缩。 常用的压缩算法包括:ZIP,
据需求选择。了解更多关于续费的信息,请参见续费概述。 费用账单 您可以在“费用中心 > 账单管理”查看与Kafka实例相关的流水和明细账单,以便了解您的消费情况。如需了解具体操作步骤,请参见费用账单。 欠费 在使用云服务时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费
源端Kafka实例和目标端Kafka实例不能同时消费,否则会导致同步的消费进度异常。 同步消费进度的频率为每分钟一次,因此会导致目标端的消费进度可能会略小于源端,造成部分消息被重复消费,所以需要消费者客户端业务逻辑兼容重复消费的场景。 从源端同步的offset与目标端的offset并非一致关系,而是映射关系,
升级Kafka实例内核版本指的是将老的内核版本升级到最新的内核版本,升级后,Kafka实例将支持一些新的特性(例如支持在控制台创建消费组、支持查看Topic详情等),并且修复老版本的一些问题。 升级Kafka实例内核版本并非升级Kafka实例的版本,例如升级前Kafka版本为2.
单击“确定”,完成为用户的授权。 完成授权后,进入Topic列表页面,在Topic名称前单击,查看已经授权的用户及其对应的权限。 图4 查看已经授权的用户及其对应的权限 删除Topic权限 登录管理控制台。 在管理控制台左上角单击,选择区域。 请选择Kafka实例所在的区域。 在管理控制台左上角单击,选择“应用中间件
配置Kafka的SSL双向认证 SSL双向认证是指在通信认证时,将同时验证客户端和服务端的证书,以确保通信中涉及的双方都是受信任的。 开启SSL双向认证,主要用于对安全性要求较高的场景。 SSL双向认证为白名单特性,需要联系后台管理人员开通后方可使用。 开启/关闭SSL双向认证将重启实例,请谨慎操作。
Kafka不能保证消费重复的消息,业务侧需保证消息处理的幂等性。 消费线程退出要调用consumer的close方法,避免同一个组的其他消费者阻塞session.timeout.ms的时间。 消费组名称开头不使用特殊字符(如#),使用特殊字符可能会导致云监控无法展示此消费组的监控数据。 producer使用建议
制作和替换Kafka的SSL证书 SSL证书的作用是在客户端和Kafka实例进行数据传输时对数据加密传输,提高了数据的安全性。 Kafka客户端连接开启密文接入且Kafka安全协议为“SASL_SSL”的Kafka实例时,您可以使用分布式消息服务Kafka版提供的证书,也可以使用自
成本偏高的资源,然后采取针对性的优化措施。 监控资源利用率,评估当前配置是否过高。例如:CPU、内存、云硬盘等资源的利用率。 监控闲置的资源,避免浪费。例如:未挂载的云硬盘、未绑定的EIP等。 计费模式优化 不同类型的业务对资源使用周期有不同的要求,为每一类业务确定合适的计费模式,灵活组合以达到最优效果。