kafka spring与kafka集成即spring-kafka实例讲解

一、消息系统模块说明

消息系统模块

  • common : 公共模块(一般放到maven私服中,供生产者和消费者加载)
  • producer : 生产者服务(一般单独部署,依赖common包)
  • consumer: 消费者服务(一般单独部署,依赖common包)

本文通过一个用户注册的案例来介绍spring与kafka客户端集成的技术实现

  • 用户注册:
    • 插入数据库等操作
    • 发送用户注册消息(生产者),其他相关事务在用户注册后,发

kafka 一张图说明spring-kafka的基本用法

在java中操作kafka,可以通过kafka-clients或者使用spring-kafka来实现.

本文简要说明一下spring-kafka的使用,通过下面一张图概览spring-kafka的使用

spring-kafka的使用

一、生产者 

1.kafka生产者的初始化
  • kafka生产者主要通过KafkaTemplate对象来进行消息方面的操作
    • KafkaTemplate对象又是通过ProducerFactory对象来构造

kafka kafka中broker、producer、consumer主要配置参数说明

一、broker主要配置

1.broker自身属性的配置
配置项 作用 类型 默认值 示例
broker.id broker在集群中的标识  整型 -1 1
listeners 监听的服务地址(多个用,隔开) String null PLAINTEXT://myhost:9092
2.连接的zookeeper相关配置
配置项 作用 类型 默认值 示例
zookeep

kafka 使用kafka的脚本对kafka进行操作

一张图概括kafka主要脚本的用法:

一张图概括kafka主要脚本的用法

一、主题管理 

主题topic的管理主要通过kafka-topics.sh这个脚本进行操作

1.创建主题

./kafka-topics.sh --create --zookeeper <host:port> --topic <topicName> --partitions <partitionsNum> --replicati

kafka kafka集群环境搭建

kafka集群环境搭建

一、Zookeeper集群环境搭建

请参考zookeeper集群搭建

二、kafka集群环境搭建

1.集群环境说明
ID IP 端口
1 192.168.0.200 9092
2 192.168.0.201 9092
3 192.168.0.202 9092

注:以上3台服务器都是CentOS 7.x系统

2.在各节点上下载并安装kafka
  1. wget http://mirro