我们正在考虑使用Message-broker来实现基于消息的发布 - 订阅通信模式。
您是否需要使用Actor-model才能在您的微服务之间进行基于消息的发布/订阅通信。
大多数消息代理都允许同步和异步API。首先,您必须决定使用哪个API:同步或异步。同步更简单,但使用阻塞I / O操作。阻塞操作会阻塞一个线程,您必须保留与等待I / O操作的线程数一样多的线程。由于每个线程消耗大量的核心内存,因此每个Java进程自然限制大约10000个线程。首先评估您是否可以使用同步API,如果是,请使用它。
如果一个JVM中同时循环的消息数超过10000,则必须使用异步API和异步处理消息。 Actor只是一种异步处理单元。其他的是来自标准java的CompletableFuture,来自RxJava的Observers和其他反应库,或者通常消息代理提供它们自己的异步处理方式。查看所有异步库并选择您更喜欢的内容。