Apache Kafka 与 JMS 的连接
Connection between Apache Kafka and JMS
我想知道 Apache Kafka 可以与 JMS 通信和发送消息吗?我可以在它们之间建立联系吗?例如,我在我的系统中使用 JMS,它应该向使用 Kafka
的其他系统发送消息
回答有点晚,但如果我理解正确的话。
如果要求是同步消息来自
客户端->JMS->Kafka --->消费者
那么以下不是解决方案,但如果它(而且很可能)是异步要求,例如:
客户端->JMS | ----> 卡夫卡 ---> 消费者
然后,这将与KafkaConnect框架有关,该框架解决了如何将不同的sources和sinks与Kafka集成的问题。
http://docs.confluent.io/2.0.0/connect/
http://www.confluent.io/product/connectors
所以您需要的是 JMSSourceConnector。
如果要求与上一个答案相反:
Kafka 生产者 -> Kafka Broker -> JMS Broker -> JMS 消费者
那么您将需要一个 KafkaConnect 接收器,如下面来自 Data Mountaineer 的接收器
不直接。而且两者是不可比的概念。 JMS 是供应商中立的 API 消息服务规范。
虽然 Kafka 可能被归类为消息服务,但它与 JMS 不兼容 API,据我所知,没有简单的方法可以使 JMS 适应 Kafka 的用例而不需要重大妥协。
但是,如果您的需求只是在 Kafka 和符合 JMS 的代理之间移动消息,那么这可以通过编写一个简单的中继应用程序轻松实现,该应用程序从一个代理消费并发布到另一个代理,或者使用类似Kafka Connect,它具有适用于大多数数据源的预装接收器,包括 JMS 代理、数据库等
我想知道 Apache Kafka 可以与 JMS 通信和发送消息吗?我可以在它们之间建立联系吗?例如,我在我的系统中使用 JMS,它应该向使用 Kafka
的其他系统发送消息回答有点晚,但如果我理解正确的话。
如果要求是同步消息来自 客户端->JMS->Kafka --->消费者 那么以下不是解决方案,但如果它(而且很可能)是异步要求,例如:
客户端->JMS | ----> 卡夫卡 ---> 消费者
然后,这将与KafkaConnect框架有关,该框架解决了如何将不同的sources和sinks与Kafka集成的问题。
http://docs.confluent.io/2.0.0/connect/ http://www.confluent.io/product/connectors
所以您需要的是 JMSSourceConnector。
如果要求与上一个答案相反:
Kafka 生产者 -> Kafka Broker -> JMS Broker -> JMS 消费者
那么您将需要一个 KafkaConnect 接收器,如下面来自 Data Mountaineer 的接收器
不直接。而且两者是不可比的概念。 JMS 是供应商中立的 API 消息服务规范。
虽然 Kafka 可能被归类为消息服务,但它与 JMS 不兼容 API,据我所知,没有简单的方法可以使 JMS 适应 Kafka 的用例而不需要重大妥协。
但是,如果您的需求只是在 Kafka 和符合 JMS 的代理之间移动消息,那么这可以通过编写一个简单的中继应用程序轻松实现,该应用程序从一个代理消费并发布到另一个代理,或者使用类似Kafka Connect,它具有适用于大多数数据源的预装接收器,包括 JMS 代理、数据库等