首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布/订阅通信和参与者

发布/订阅通信和参与者
EN

Stack Overflow用户
提问于 2019-03-20 20:22:07
回答 2查看 647关注 0票数 1

我们正在考虑使用消息代理来实现基于消息的发布-订阅通信模式。

您是否需要使用Actor-model才能在您的微服务之间进行基于消息的发布/订阅通信。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-20 22:55:01

大多数消息代理同时支持同步和异步API。首先,您必须决定使用哪种API :同步还是异步。同步比较简单,但使用阻塞I/O操作。阻塞操作阻塞一个线程,您必须保留与等待I/O操作的线程数量一样多的线程。由于每个线程消耗大量的核心内存,因此每个Java进程有大约10000个线程的自然限制。因此,首先评估您是否负担得起使用同步API,如果负担得起,就使用它。

如果一个JVM中同时循环的消息数量超过10000条,那么您必须使用异步API和异步消息处理。参与者只是一种异步处理单元。其他的是来自标准java的CompletableFuture,来自RxJava和其他反应库的观察者,或者通常消息代理提供他们自己的异步处理方式。看看所有的异步库,然后选择你更喜欢的。

票数 1
EN

Stack Overflow用户

发布于 2019-08-11 15:39:21

消息代理只是异步机制中的一种。角色模型是更宽泛的概念,即当消息被发送到本地角色时(即在相同的程序中运行,在相同的线程中运行)。

因此,它们是相互独立的:消息代理可以在没有参与者的情况下使用(即redis、rabbit mq、zero-mq),也可以在没有消息代理的情况下实现参与者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55260689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档