# 概述
Kafka实例完全兼容开源Kafka协议，可以直接使用[kafka开源客户端](https://cwiki.apache.org/confluence/display/KAFKA/Clients)连接。如果"kafka安全协议"设置为"SASL_SSL"，则在开源客户端基础上使用云服务提供的证书文件或者您自制的客户端证书文件。
本指南主要介绍实例连接信息的收集，如获取实例连接地址、Topic名称等，然后提供Java、Python和Go等语言的连接示例。
本指南的示例仅展示Kafka的API调用，生产者与消费者的API集合，请参考[Kafka官网](https://kafka.apache.org/documentation/#api)。
#### 客户端网络环境说明
客户端可以通过以下方式访问Kafka实例：
- 如果客户端是云上ECS，与Kafka实例处于同region同VPC，则可以直接访问Kafka实例提供的内网连接地址。
- 如果客户端是云上ECS，与Kafka实例处于相同region但不同VPC，通过以下任意一种方式访问。
  - 创建VPC对等连接，将两个VPC的网络打通，实现跨VPC访问。具体步骤请参考[对等连接](https://support.huaweicloud.com/usermanual-vpc/vpc_peering_0000.html)。注意修改Kafka实例的安全组，允许端口9092（明文接入）/9093（密文接入）被外部请求访问。
  
  - 利用VPC终端节点在不同VPC间建立跨VPC的连接通道，实现Kafka客户端通过内网访问Kafka实例，具体步骤请参考[使用VPCEP实现跨VPC访问Kafka](https://support.huaweicloud.com/usermanual-kafka/kafka-ug-0001.html)。注意修改Kafka实例的安全组，允许端口9011被外部请求访问。
   
- 如果客户端在其他网络环境，或者与Kafka实例处于不同region，则访问实例的公网地址。 公网访问时，注意修改Kafka实例的安全组，允许端口9094（明文接入）/9095（密文接入）被外部网络访问。
  
![](https://support.huaweicloud.com/devg-kafka/public_sys-resources/note_3.0-zh-cn.png)
不同网络环境，对于客户端配置来说，只是连接地址的差异，其他都一样。因此，本手册以同一VPC内子网地址的方式，介绍客户端开发环境搭建。
遇到连接超时或失败时，请注意确认网络是否连通。可使用telnet方式，检测实例连接地址与端口的连通性。
