Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading Kafka作为微服务中的消息队列_Multithreading_Apache Kafka_Microservices_Kafka Consumer Api - Fatal编程技术网

Multithreading Kafka作为微服务中的消息队列

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特性(与现有端点通信的web服务器/REST服务器/SOAP服务器)

在某种程度上,我需要微服务之间的异步通道,因此我考虑将Kafka作为消息代理

在我的场景中,我拥有RESTfull微服务,一旦它的工作完成,它就会将消息推送到Kafka队列。然后,另一个同样是web服务器(嵌入式tomcat)的微服务(具有较小的REST层)将使用这些消息

考虑消息队列的原因是,即使我的接收微服务由于某种原因关闭,所有传入的消息都将添加到队列中,数据流也不会受到干扰。另一个原因是卡夫卡是持久队列

通常,Kafka消费者是多线程的

问题是,接收作为web服务器的微服务时,我关心的是在servlet容器管理的环境中创建用户线程。这可能有用。但考虑到用户创建的线程在web应用程序中是不好的,我感到困惑。那么,在这种情况下,您的方法是什么呢


请提出建议。

为什么不将消费者web服务分成两个组件,一个组件纯粹用于从单独的Kafka消费者写入的数据存储中读取?如果您有同一消费者的多个实例,则不清楚如何将消息路由到消费者?