检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。 单击Kafka实例的名称,进入实例详情页面。 在“连接信息 > SSL证书”后,单击“下载”,将SSL证书下载到本地。 解压证书zip包,获取JKS格式的SSL证书。 登录Linux系统的服务
Go 本文以Linux CentOS环境为例,介绍Go 1.16.5版本的Kafka客户端连接指导,包括demo代码库的获取,以及生产、消费消息。 使用前请参考收集连接信息收集Kafka所需的连接信息。 准备环境 执行以下命令,检查是否已安装Go。 go version 返回如下回显时,说明Go已经安装。
本文介绍Maven方式引入Kafka客户端,并完成Kafka实例连接以及消息生产与消费的相关示例。如果您需要在IDE中查看Demo具体表现,请查看Java开发环境搭建。 下文所有Kafka的配置信息,如实例连接地址、Topic名称、用户信息等,请参考收集连接信息获取。 Maven中引入Kafka客户端
查看Kafka消费者信息 如果消费组中存在正在连接Kafka实例的消费者,可查看消费组中该消费者的连接信息。 在Kafka Manager中查看消费者连接地址须知 Kafka Manager由于缓存原因,显示的消费者连接地址可能不是当前消费者连接地址,建议重启Kafka Manager解决。
下表所示。 表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS 单个代理分区上限 单个代理建议消费组数 单个代理客户端总连接数上限 存储空间范围(GB) 单个代理流量规格(MB/s) kafka.2u4g.cluster.small 3~30 20000 100
接使用kafka开源客户端连接。如果“kafka安全协议”设置为“SASL_SSL”,则在开源客户端基础上使用云服务提供的证书文件。 本指南主要介绍实例连接信息的收集,如获取实例连接地址、Topic名称等,然后提供Java、Python和Go等语言的连接示例。 本指南的示例仅展示
下表所示。 表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS 单个代理分区上限 单个代理建议消费组数 单个代理客户端总连接数上限 存储空间范围(GB) 单个代理流量规格(MB/s) kafka.2u4g.cluster.small 3~30 20000 100
本文介绍如何使用spring-kafka连接华为云Kafka实例进行消息的生产和消费。相关代码您可以从kafka-springboot-demo中获取。 下文所有Kafka的配置信息,如实例连接地址、Topic名称、用户信息等,请参考收集连接信息获取。 在pom.xml文件中引入spring-kafka依赖
${number-of-partitions} 参数说明如下: connection-address:在Kafka控制台的“基本信息 > 连接信息”中,获取Kafka实例的连接地址。 topic-name:Topic名称。 number-of-partitions:Topic的分区数。出于性能考虑
dynamic_config Integer 本次修改动态配置参数个数。 static_config Integer 本次修改静态配置参数个数。 请求示例 修改实例的连接空闲超时和日志删除的时间阈值。 PUT https://{endpoint}/v2/{project_id}/instances/{instance_id}/configs
数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。如果您想要了解更多关于TPS的性能,请参考测试Kafka实例TPS。 表1 Kafka集群实例规格 规格名称 代理个数范围 单个代理TPS 单个代理分区上限 单个代理建议消费组数 单个代理客户端总连接数上限 存储空间范围
emit.heartbeats.enabled true 连接器应定期发出心跳 emit.heartbeats.interval.seconds 5秒 心跳频率 emit.checkpoints.enabled true 连接器应定期发出消费端偏移量信息 emit.checkpoints
1KB大小的消息为例的每秒处理消息条数。测试场景为连接内网访问明文接入、磁盘类型为超高I/O的实例。 表1 Kafka单机实例规格 规格名称 代理个数 单个代理TPS 单个代理分区上限 单个代理建议消费组数 单个代理客户端总连接数上限 存储空间范围 单个代理流量规格(MB/s) kafka
Kafka实例支持多种语言的客户端,如果您想要使用其他语言连接Kafka实例,可以从Kafka官网获取客户端。 Kafka官网支持的客户端语言包括:C/C++、Python、Go、PHP、Node.js等等。 Kafka实例完全兼容开源客户端,按照Kafka官网提供的连接说明,与Kafka实例对接。
Java开发环境搭建 基于收集连接信息的介绍,假设您已经获取了实例连接相关的信息,以及配置好客户端的网络环境。本章节以生产与发送消息的Demo为例,介绍Kafka客户端的环境配置。 开发环境 Maven Apache Maven 3.0.3及以上版本,可至Maven官方下载页面下载。
证) 参数名 获取途径 内网连接地址 在Kafka实例详情页的“连接信息”区域,获取“内网连接地址”。 开启的SASL认证机制 在Kafka实例详情页的“连接信息”区域,获取“开启的SASL认证机制”。 启用的安全协议 在Kafka实例详情页的“连接信息”区域,获取“启用的安全协议”。
合适的值即可。但是这样的长连接可能会对客户端和服务端造成一定的压力,特别是分区数较多且每个消费者开启多个线程的情况下。 如图1所示,Topic含有多个分区,消费组中有多个消费者同时进行消费,每个线程均为长连接。当Topic中消息较少或者没有消息时,连接不断开,所有消费者不间断地拉取消息,这样造成了一定的资源浪费。
参数才对此Topic生效。 1 ~ 168 单位:小时 72 max.connections.per.ip 每个IP允许的最大连接数。超过此连接数的连接请求将被丢弃。 100 ~ 20000 1000 group.max.session.timeout.ms consumer允许
购买Kafka实例 分布式消息服务Kafka版 介绍怎样连接未开启SASL的Kafka实例 04:57 连接未开启SASL的Kafka实例 分布式消息服务Kafka版 介绍怎样连接开启SASL_SSL的Kafka实例 06:16 连接开启SASL_SSL的Kafka实例 分布式消息服务Kafka版
Kafka实例依赖ZK进行管理,开放ZK可能引发误操作导致业务受损,ZK仅Kafka内部使用,不对外提供服务。 您可使用Kafka开源客户端连接Kafka实例,调用原生API生产与消费消息。 父主题: 实例问题