上面已经搭建好了基于Kafka开发应用程序的环境,相信大家应该非常期待Kafka的客户端开发,接下来将详细讲解怎样开发Kafka的生产者(Producer)和消费者(Consumer)。本节先介绍Kafka生产者编程设计及Kafka消费者编程设计,再对Kafka的生产者和消费者的编程步骤及相应的参数设置进行详细阐述,之后对Kafka生产者和消费者的常用配置参数做了一个分类和总结。
Apache Kafka框架是用Scala语言开发的,Apache Kafka在大数据技术栈中的流行,也归结于Kafka运用了Scala语言并发编程的优势,用很少的代码实现了高可用、高性能的分布式消息系统。其中Apache Kafka对语言的支持也比较丰富,其中包括对Java、Python、Go、Ruby、Scala、C/C++等等。换句话说,读者可以基于Kafka提供的API,用这些语言来编写自己的客户端程序。Apache Kafka的通信协议在0.8.X版本改动比较大,Apache Kafka官网表示,自从0.8发布版开始,Apache Kafka继续维护已有语言实现的Kafka客户端API,但是基于JVM的Kafka客户端是Apache Kafka维护的重点,并和基线代码保持一致,也就是说,Apache Kafka客户端API支持最好的是Java语言,基于这个原因,本节主要使用Java语言来对Kafka客户端开发进行讲解,部分例子也用Scala语言实现,供读者对比参考。
现在,虽然Apache Kafka对Scala语言API的支持还不是很完善,随着读者对Scala语言及Apache Kafka框架的深入学习和理解,在阅读完本节后,可以试着用Scala语言来实现Kafka的客户端程序,将遇到的问题和建议回馈给Apache Kafka,使Apache Kafka对Scala语言客户端API支持越来越强大。(www.daowen.com)
Kafka作为一个消息队列,Kafka集群就应该具备对消息的独特处理能力,搭建集群上的kafka,怎样来控制这些消息的处理流程,即Kafka怎样从所要的应用中收集消息,怎样将获得的消息发送到其他地方,这些就是本节所关心的内容,利用Kafka提供的API来实现这些数据接收和发送功能。换句话说,就是用Kafka提供的API来实现消息队列中的生产者(Producer)和消费者(Consumer)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。