
# Kafka样例程序开发思路
#### 场景说明
Kafka是一个分布式消息系统，在此系统上用户可以做一些消息的发布和订阅操作，假定用户要开发一个Producer，让其每秒向Kafka集群某Topic发送一条消息，另外还需要实现一个Consumer，订阅该Topic，实时消费该类消息。
#### 开发思路
1. 使用Linux客户端创建一个Topic。可参考[Kafka Shell命令介绍](https://support.huaweicloud.com/devg-lts-mrs/mrs_07_130031.html)。
2. 开发一个Producer向该Topic生产数据。
3. 开发一个Consumer消费该Topic的数据。
 
#### 性能调优建议
1. 建议预先创建Topic，根据业务需求合理规划Partition数目，Partition数目限制了消费者的并发数。
2. 消息key值选取一定是可变的，防止由于消息key值不变导致消息分布不均匀。
3. 消费者尽量使用主动提交offset的方式，避免重复消费。
 
