从发布服务器读取数据(Kafka/RabbitMQ)

从发布服务器读取数据(Kafka/RabbitMQ),rabbitmq,apache-kafka,Rabbitmq,Apache Kafka,我正在研究如何根据我们的需要使用卡夫卡,并想知道消费者是否可以直接从生产者那里查询数据。 根据我对卡夫卡的理解,一个人可以从一端生产,从另一端消费,但消费者无法与生产者进行互动交流。它必须是一个不同的技术堆栈?比如在Redis中存储 如果我可以自定义exchange,RabbitMQ是否提供此功能?因此,我需要首先指出,“直接从生产者查询”和“与生产者交互通信”之间有区别 首先,让我们将生产者定义为“产生消息的人”。类似地,我们可以将消费者定义为“接收和处理消息的人” 然后,采用该定义,您会意识

我正在研究如何根据我们的需要使用卡夫卡,并想知道消费者是否可以直接从生产者那里查询数据。 根据我对卡夫卡的理解,一个人可以从一端生产,从另一端消费,但消费者无法与生产者进行互动交流。它必须是一个不同的技术堆栈?比如在Redis中存储


如果我可以自定义exchange,RabbitMQ是否提供此功能?

因此,我需要首先指出,“直接从生产者查询”和“与生产者交互通信”之间有区别

首先,让我们将生产者定义为“产生消息的人”。类似地,我们可以将消费者定义为“接收和处理消息的人”

然后,采用该定义,您会意识到,在任何实际的、真实的消息传递系统中,连接到消息传递系统的所有东西在某种程度上既是生产者又是消费者

通常,您将特定服务设置为接受队列中的消息,然后生成一些结果消息并将其发布回代理,在代理中将其路由到适当的队列以供另一个(通常是最初生成的)服务使用。这种设置称为请求-响应

底线

  • 无法在RabbitMQ下直接查询来自生产者的消息。生产者将消息放在一个交换机上,在那里它们被路由到一个或多个队列。消费者从队列中接收消息,而没有事先了解到底是谁生成了每条消息

  • 可以与特定消息的生产者进行通信。为此,原始生产者设置一个应答队列,该队列通常是一个随机命名的队列,一旦原始生产者收到应答并断开连接,该队列将自动删除。这是许多设置之一。请查看有关如何工作的详细信息


  • 因此,我需要首先指出,“直接从制作人处查询”和“与制作人交互通信”之间有区别

    首先,让我们将生产者定义为“产生消息的人”。类似地,我们可以将消费者定义为“接收和处理消息的人”

    然后,采用该定义,您会意识到,在任何实际的、真实的消息传递系统中,连接到消息传递系统的所有东西在某种程度上既是生产者又是消费者

    通常,您将特定服务设置为接受队列中的消息,然后生成一些结果消息并将其发布回代理,在代理中将其路由到适当的队列以供另一个(通常是最初生成的)服务使用。这种设置称为请求-响应

    底线

  • 无法在RabbitMQ下直接查询来自生产者的消息。生产者将消息放在一个交换机上,在那里它们被路由到一个或多个队列。消费者从队列中接收消息,而没有事先了解到底是谁生成了每条消息

  • 可以与特定消息的生产者进行通信。为此,原始生产者设置一个应答队列,该队列通常是一个随机命名的队列,一旦原始生产者收到应答并断开连接,该队列将自动删除。这是许多设置之一。请查看有关如何工作的详细信息