为了向大家介绍这个问题的背景,我认为Kafka是微服务之间进行跨服务通信的一个渠道。我的大多数微服务都具有web特性(web服务器/rest服务器/soap服务器与现有端点通信)。
在某种程度上,我需要微服务之间的异步通道,因此我考虑将kafka作为消息代理。
在我的场景中,我有restfull微服务,一旦它的工作完成,它就会将消息推送到kafka队列。然后,另一个同样是web服务器(嵌入式tomcat)的微服务(带有小rest层)将使用这些消息。
考虑消息队列的原因是,即使我的接收微服务由于某种原因关闭,所有传入的消息都将添加到队列中,数据流也不会受到干扰。另一个原因是kafka是持久队列。
通常,kafka消费者是多线程的。
问题是,接收作为web服务器的微服务时,我关心的是在servlet容器管理的环境中创建用户线程。可能有用。但是考虑到用户创建的线程在web应用程序中是不好的,我感到困惑。那么在这种情况下你的方法是什么呢。
请建议。
暂无答案!
目前还没有任何答案,快来回答吧!