高水平的应用设计:

上游系统发送数据流,数据由Java Application接收 . 使用KAFKA作为数据存储,logstash将在Elastic索引中发布存储的数据,并且所有应用程序将使用弹性搜索查询来获取数据 .

问题:要将数据从Java应用程序发布到KAFKA,应该使用哪个API Kafka JMS客户端或Java Kafka Producer / Consumer API?

根据kafka文档,如果您有兴趣编写新的Java应用程序,那么建议您使用Java Kafka Producer / Consumer API,因为它们提供了使用kafka-jms-client https://docs.confluent.io/current/clients/kafka-jms-client/docs/index.html时不可用的高级功能 .

另外根据KAFKA文档,它不是典型的Messgaing经纪人,也不是所有JMS概念都映射1:1 kafka .

使用JMS API for KAFKA有什么好处,因为KAFKA不是典型的消息代理[并且应用程序仍然会与KAFKA紧密结合]并且并非所有JMS概念都可以映射到kafka?