概述
Kafka实例完全兼容开源Kafka协议,可以直接使用kafka开源客户端连接。如果“kafka安全协议”设置为“SASL_SSL”,则在开源客户端基础上使用云服务提供的证书文件。
本指南主要介绍实例连接信息的收集,如获取实例连接地址、Topic名称等,然后提供Java、Python和Go等语言的连接示例。
本指南的示例仅展示Kafka的API调用,生产与消费的API集,请参考Kafka官网。
客户端网络环境说明
客户端可以通过以下方式访问Kafka实例:
- 如果客户端是云上ECS,与Kafka实例处于同region同VPC,则可以直接访问Kafka实例提供的内网连接地址。
- 如果客户端是云上ECS,与Kafka实例处于相同region但不同VPC,通过以下任意一种方式访问。
- 创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问。具体步骤请参考对等连接。注意修改Kafka实例的安全组,允许端口9092(明文接入)/9093(密文接入)被外部请求访问。
- 创建一个云连接实例,然后在创建的云连接实例中加载需要互通的VPC,实现跨VPC访问。具体步骤请参考同区域同账号VPC互通。
- 利用VPC终端节点在不同VPC间建立跨VPC的连接通道,实现Kafka客户端通过内网访问Kafka实例,具体步骤请参考使用VPCEP实现跨VPC访问Kafka。注意修改Kafka实例的安全组,允许端口9011被外部请求访问。
- 如果客户端在其他网络环境,或者与Kafka实例处于不同region,则访问实例的公网地址。
不同网络环境,对于客户端配置来说,只是连接地址的差异,其他都一样。因此,本手册以同一VPC内子网地址的方式,介绍客户端开发环境搭建。
遇到连接超时或失败时,请注意确认网络是否连通。可使用telnet方式,检测实例连接地址与端口。