Connection between Apache Kafka and JMS

前端 未结 3 599
逝去的感伤
逝去的感伤 2021-01-25 09:54

I was wondering could Apache Kafka communicate and send messages to JMS? Can I establish connection between them? For example, I\'m using JMS in my system and it should send mes

相关标签:
3条回答
  • 2021-01-25 10:29

    Not directly. And the two are incomparable concepts. JMS is a vendor-neutral API specification of a messaging service.

    While Kafka may be classified as a messaging service, it is not compatible with the JMS API, and to the best of my knowledge there is no trivial way of adapting JMS to fit Kafka's use cases without making significant compromises.

    However, if your needs are simply to move messages between Kafka and a JMS-compliant broker, then this can easily be achieved by either writing a simple relay app that consumes from one and publishes onto another, or use something like Kafka Connect, which has pre-canned sinks for most data sources, including JMS brokers, databases, etc.

    0 讨论(0)
  • 2021-01-25 10:31

    If the requirement is the reverse of the previous answer:

    Kafka Producer -> Kafka Broker -> JMS Broker -> JMS Consumer

    then you would need a KafkaConnect Sink like the following one from Data Mountaineer

    http://docs.datamountaineer.com/en/latest/jms.html

    0 讨论(0)
  • 2021-01-25 10:35

    answering bit late, but if I understood correctly the requirement.

    If the requirement is synchronous messaging from client->JMS->Kafka --- > consumer then following is not the solution, but if its ( and most likely) the async requirement like:

    client->JMS | ----> Kafka ---> consumer

    then, this would be related to KafkaConnect framework which is solving the problem of how to integrate different sources and sinks with Kafka.

    http://docs.confluent.io/2.0.0/connect/ http://www.confluent.io/product/connectors

    so what you need is a JMSSourceConnector.

    0 讨论(0)
提交回复
热议问题