
# Kafka应用开发流程介绍
Kafka客户端角色包括Producer和Consumer两个角色，其应用开发流程是相同的。
开发流程中各个阶段的说明如[图1]和[表1]所示。
图1Kafka客户端程序开发流程   
![](https://support.huaweicloud.com/devg-mrs/zh-cn_image_0250982740.jpg)
 表1Kafka客户端程序开发的流程说明 
| **阶段**   | **说明**                                                            | **参考文档**                                                                    |
|:---|:---|:---|
| 了解基本概念   | 在开始开发客户端前，需要了解Kafka的基本概念，根据实际场景判断，需要开发的角色是Producer还是Consumer。     | [Kafka应用开发常用概念](https://support.huaweicloud.com/devg-mrs/mrs_06_0297.html)  |
| 准备开发环境   | Kafka的客户端程序当前推荐使用java语言进行开发，并使用Maven工具构建工程。                       | [准备Maven和JDK](https://support.huaweicloud.com/devg-mrs/mrs_06_0301.html)    |
| 准备运行环境   | Kafka的样例程序运行环境即MRS服务所VPC集群的节点。                                    | -                                                                           |
| 准备工程     | Kafka提供了不同场景下的样例程序，您可以下载样例工程进行程序学习。或者您可以根据指导，新建一个Kafka工程。         | [导入并配置Kafka样例工程](https://support.huaweicloud.com/devg-mrs/mrs_06_0302.html) |
| 根据场景开发工程 | 提供了Producer和Consumer相关API的使用样例，包含了新旧API和多线程的使用场景，帮助用户快速熟悉Kafka接口。 | [Kafka样例程序开发思路](https://support.huaweicloud.com/devg-mrs/mrs_06_0305.html)  |
| 编译并运行程序  | 指导用户将开发好的程序编译并打包，上传到VPC的Linux节点运行。                                | [调测Kafka应用](https://support.huaweicloud.com/devg-mrs/mrs_06_0317.html)      |
| 查看程序运行结果 | 程序运行结果可以输出到Linux命令行页面。也可通过Linux客户端进行Topic数据消费的方式查看数据是否写入成功。       | [调测Kafka应用](https://support.huaweicloud.com/devg-mrs/mrs_06_0317.html)      |
   
