Multithreading Kafka作为微服务中的消息队列
为了向大家介绍问题的背景,我将卡夫卡视为微服务之间服务间通信的一个渠道。我的大多数微服务都具有web特性(与现有端点通信的web服务器/REST服务器/SOAP服务器) 在某种程度上,我需要微服务之间的异步通道,因此我考虑将Kafka作为消息代理 在我的场景中,我拥有RESTfull微服务,一旦它的工作完成,它就会将消息推送到Kafka队列。然后,另一个同样是web服务器(嵌入式tomcat)的微服务(具有较小的REST层)将使用这些消息 考虑消息队列的原因是,即使我的接收微服务由于某种原因关闭,所有传入的消息都将添加到队列中,数据流也不会受到干扰。另一个原因是卡夫卡是持久队列 通常,Kafka消费者是多线程的 问题是,接收作为web服务器的微服务时,我关心的是在servlet容器管理的环境中创建用户线程。这可能有用。但考虑到用户创建的线程在web应用程序中是不好的,我感到困惑。那么,在这种情况下,您的方法是什么呢Multithreading Kafka作为微服务中的消息队列,multithreading,apache-kafka,microservices,kafka-consumer-api,Multithreading,Apache Kafka,Microservices,Kafka Consumer Api,为了向大家介绍问题的背景,我将卡夫卡视为微服务之间服务间通信的一个渠道。我的大多数微服务都具有web特性(与现有端点通信的web服务器/REST服务器/SOAP服务器) 在某种程度上,我需要微服务之间的异步通道,因此我考虑将Kafka作为消息代理 在我的场景中,我拥有RESTfull微服务,一旦它的工作完成,它就会将消息推送到Kafka队列。然后,另一个同样是web服务器(嵌入式tomcat)的微服务(具有较小的REST层)将使用这些消息 考虑消息队列的原因是,即使我的接收微服务由于某种原因关闭
请提出建议。为什么不将消费者web服务分成两个组件,一个组件纯粹用于从单独的Kafka消费者写入的数据存储中读取?如果您有同一消费者的多个实例,则不清楚如何将消息路由到消费者?