在基于 Reactor Java 的应用程序中,我们通过创建稍后订阅的发布者来释放线程。
我可以创建无限数量的发布者来扩展我的应用程序吗?创建发布者的限制是什么。
在基于 Reactor Java 的应用程序中,我们通过创建稍后订阅的发布者来释放线程。
我可以创建无限数量的发布者来扩展我的应用程序吗?创建发布者的限制是什么。
您可以创建任意数量的发布者 - 在您订阅之前不会发生任何事情(至少对于标准的冷发布者而言),所以在此之前它们就像任何其他 POJO 一样。显然你必须有足够的堆空间,但仅此而已。
如果您要询问活跃发布者的上限(即一旦您订阅) - 这有点复杂。在传统的每线程模型中,上限通常是您可以在上下文之间切换的线程数(通常是几千个)。反应式框架基本上通过仅使用一个事件循环来消除该限制,这意味着实际限制通常由下式给出之一:
但实际上,上述两种设置因设置而异 - 因此,了解您将遇到什么限制以及何时遇到限制的唯一真正方法是对您的应用程序和硬件进行基准测试以找出答案。