1.kafka是什么?
他是一个类似消息系统,读写流式的数据
编写可扩展的流处理应用程序,用于实时时间响应的场景
安全地将流式的数据存储在一个分布式,有副本,容错的集群
2.用于什么样的场景?
构建实时流数据管道,可以在系统之间或者应用之间可靠地获取数据
构建实时流式应用程序,对这些流数据进行转换或者影响
3.相关概念
kafka作为一个集群,运行在一台或多台服务器上,通过topic对存储的流数据进行分类,每条数据包含一个key,value和timestamp
有四个核心api:
producer api允许一个应用程序发布一串流式数据到一个或者多个topic
consumer api允许一个应用程序订阅一个或者多个topic,并对发布给他们的流式数据进行处理
stream api允许一个应用程序作为一个流处理器,消费一个或者多个topic生产的输入流,然后生产一个输出流,到一个或者多个topic中,在输入流和输出流之间进行流转
connector api允许构建并运行可重用的生产者或者消费者,将kafka topics连接到已存在的应用程序或者数据系统,比如一个关系型数据库,捕捉表的变更
3.spring整合kafka实现消息收发