初识消息队列处理机框架KClient

KClient是一个简单易用,有效集成,高性能,高稳定的Kafka Java客户端。 此文档包含了背景介绍、功能特性、使用指南、API简介、后台监控和管理、消息处理机模板项目、架 构设计以及性能压测相关章节。如果你想使用KClient快速的构建Kafka处理机服务,请参考消息处理机模板项目章节; 如果你想了解KClient的其他使用方式、功能特性、监控和管 理等,请参考背景介绍、功能特性、使用指南、API简介、后台监控和管理等章节; 如果你想更深入的理解KClient的架构设计和性能Benchmark,请参考架构设计和性能压测章节

使用指南

KClient提供了三种使用方法,对于每一种方法,按照下面的步骤可快速构建Kafka生产者和消费者程序。

前置步骤

1).下载源代码后在项目根目录执行如下命令安装打包文件到你的Maven本地库。

mvn install

2).在你的项目pom.xml文件中添加对KClient的依赖。

com.robert.kafkakclient-core0.0.1

3).根据Kafka官方文档搭建Kafka环境,并创建两个Topic, test1和test2。

4).然后,从Kafka安装目录的config目录下拷贝kafka-consumer.properties和kafka-producer.properties到你的项目类路径下,通常是src/main/resources目录。

1.Java API

Java API提供了最直接,最简单的使用KClient的方法。

构建Producer示例:

构建Consumer示例:

2.Spring环境集成

KClient可以与Spring环境无缝集成,你可以像使用Spring Bean一样来使用KafkaProducer和KafkaConsumer。

构建Producer示例:

ApplicationContextac=newClassPathXmlApplicationContext("kafka-producer.xml");KafkaProducerkafkaProducer=(KafkaProducer) ac.getBean("producer");for(inti=; i

构建Consumer示例:

ApplicationContextac=newClassPathXmlApplicationContext("kafka-consumer.xml");KafkaConsumerkafkaConsumer=(KafkaConsumer) ac.getBean("consumer");try{kafkaConsumer.startup();try{System.in.read();}catch(IOExceptione) {e.printStackTrace();}}finally{kafkaConsumer.shutdownGracefully();}

3.服务源码注解

KClient提供了类似Spring声明式的编程方法,使用注解声明Kafka处理器方法,所有的线程模型、异常处理、服务启动和关闭等都由后台服务自动完成,极大程度的简化了API的使用方法,提高了开发者的工作效率。

注解声明Kafka消息处理器:

注解启动程序:

publicstaticvoidmain(String[] args) {ApplicationContextac=newClassPathXmlApplicationContext("annotated-kafka-consumer.xml");try{System.in.read();}catch(IOExceptione) {e.printStackTrace();}}

注解Spring环境配置:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180218B0BK8L00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券