Kafka实战(六) - 核心API解析

举报
JavaEdge 发表于 2021/06/04 00:44:00 2021/06/04
【摘要】 1 核心API● Producer API允许一个应用程序发布一串流式数据到一或多个Kafka topic。● Consumer API允许一个应用程序订阅一个或多个topic ,并且对发布给他们的流式数据进行处理。● Streams API允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换。●...

1 核心API

● Producer API
允许一个应用程序发布一串流式数据到一或多个Kafka topic。

● Consumer API
允许一个应用程序订阅一个或多个topic ,并且对发布给他们的流式数据进行处理。

● Streams API
允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换。

● Connector API
允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数据库,捕捉表(table) 的所有变更内容。

在Kafka中,客户端和服务器之间的通信是通过简单,高性能,语言无关的TCP协议完成的。
此协议已版本化并保持与旧版本的向后兼容性。Kafka提供多种语言客户端。

2 Kafka API - producer

  • Producer会为每个partition维护一个缓冲,用来记录还没有发送的数据,每个缓冲区大小用batch.size指定,默认值为16k.

  • linger.ms为,buffer中的数据在达到batch.size前,需要等待的时间

  • acks用来配置请求成功的标准

  • send异步方法

3 Kafka API - Consumer

3.1 Simple Cnsumer

位于kafka.javaapi.consumer包中,不提供负载均衡、容错的特性每次获取数据都要指定topic、partition、offset、 fetchSize

3.2 High-level Consumer

该客户端透明地处理kafka broker异常,透明地切换consumer的partition, 通过和broker交互来实现consumer group级别的负载均衡。

  • Group

4 整体架构

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/103041502

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。