当前位置:网站首页 > Java教程 > 正文

java上报教程



Kafka 是一个高性能、高可用、高可靠的支持事件数据流的消息队列系统,是实时计算的可靠数据源。

本文给出使用 Kafka 的基本示例。关于 Kafka 的更多原理性的信息,可阅读《Kafka权威指南》一书。

基本概念

  • 事件(Event):包含 [key, value, timestamp, headers] ,是写入 Kafka 或从 Kafka 读取的数据对象。通常是由其它数据源或设备源触发而来;事件可以看做是消息或记录;
  • 主题(Topic):将同一类事件对象组织在一起的名字空间。生产者写入指定的 Topic ,消费者订阅并从 Topic 中读取数据;
  • 分区(Partition):分区是事件在主题中的存储单元。同一个主题下的所有事件会存放在多个分区里;分区可以保证 Kafka 的高可用和可伸缩性。Kafka 保证数据写入分区和从分区读取的顺序是一致的;
  • 偏移量(Offset):消费者读取消息时会向 _consumer_offset 的特殊主题提交消息偏移量,便于追踪消息读取进度;如果发生分区再均衡(消费者群组中的消费者上线或下线),可以控制消息读取的不丢失和一致性;

Kafka 遵循生产者-消费者模型(P-C):

  • 生产者(Producer): 往 Kafka 分区写数据的数据生产者;
  • 消费者(Consumer): 从 Kafka 分区读取数据的数据消费者;消费者通常会处于某个消费者群组里。

消息系统的基本原理见: “【整理】互联网服务端技术体系:服务解耦之消息系统”

流程图

Kafka 生产者写入示意图:

Kafka 消费者读取示意图:


Zookeeper 和 Kafka

从 “Zookeeper Download” 下载 zookeeper 压缩包,从 “Kafka Download” 下载 Kafka 压缩包,使用 tar xzvf xxx.tar.gz 解压即可。

启动服务

启动 Zookeeper 服务。切换到 Zookeeper 解压目录下,执行如下命令:

 

启动 Kafka 服务。切换到 Kafka 解压目录下,执行如下命令:

 

创建和查看消息主题

执行如下命令,创建了一个 order-events 的消息主题:

 

查看主题 order-events 的信息:

 

步骤一:引入 POM 依赖

 

步骤二:创建Kafka消息发送组件

 

步骤三: 创建Kafka消息消费组件

 

步骤四:创建消息发送者(业务),这里借用了“后端简易实验框架” 的功能。这里的消息对象可以替换成自己工程里的对象哈,稍加改动即可。

 

至此,就可以实现 Kafka 的消息发送和消息消费示例了。

Kafka 还可以用于可靠的数据源,为实时计算组件提供事件流,如下图所示代码:

 

这里还必须事先创建一个 Topic = goods-order-count 的主题:

 

Kafka 是一个很有潜力的用于业务系统和大数据系统的消息系统。本文给出了使用 Kafka 进行消息发送、消息消费以及事件流处理的基本示例,方便 Kafka 初学者(包括我自己)更好滴上手,进一步去探索 Kafka.

  • 《Kafka权威指南》

版权声明


相关文章:

  • java入门教程笔记2025-03-12 18:58:04
  • java日期函数教程2025-03-12 18:58:04
  • java笔记文件教程2025-03-12 18:58:04
  • java websocket 教程2025-03-12 18:58:04
  • java并发包教程2025-03-12 18:58:04
  • java系统免费教程2025-03-12 18:58:04
  • java自学教程4052025-03-12 18:58:04
  • java入手教程2025-03-12 18:58:04
  • 北京java教程电子书2025-03-12 18:58:04
  • java定制教程2025-03-12 18:58:04