java – Spring Reactor在发布者线程数远远高于消费者数量时受益
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Spring Reactor在发布者线程数远远高于消费者数量时受益,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1184字,纯文字阅读大概需要2分钟。
内容图文
我有以下用例:
> N个线程发布数据(N可以是10到1000个线程),那些线程可以发出HTTP请求,jdbc调用,只使用本地计算机进行纯java处理
> 1到M线程消耗它制作IO(发送HTTP请求,写入数据库……批量可能),这些线程不应该减慢发布者的速度. M不得超过10个线程.
N个线程可以比消费者使用它更快地发布数据,但其想法是尽量减少发布者的速度.
我已经实现了一个基于ArrayBlockingQueue的方法,其中发布者写入,并且一个线程将数据作为队列并处理它,它可以工作,但结果不是很好.
因此,我正在研究Reactor模式,特别是Spring-Reactor,看看它是否可以回应我的用例.是这样的吗?
我读 :
> https://spring.io/guides/gs/messaging-reactor/#initial =>这个似乎不符合我的用例.
> https://github.com/reactor/reactor/blob/master/reactor-core/src/test/java/reactor/core/processor/ProcessorThroughputTests.java =>似乎离我很近但需要确认
在我的情况下,发布商线程数远远高于消费者数量,这是正确的选择吗?
解决方法:
听起来您可能想要查看Reactor的PersistentQueue facility,并将您的发布者与订阅者分开.这是一个正常的Queue实现,但它使用Chronicle Queue来实现持久性,故障转移和可重放性.它也极其快速.
您基本上会让发布者从一侧将数据推送到PersistentQueue,而另一侧则将一组订户从中拉出.如果您已经在使用Queue,它可能是您当前使用的替代品.
我需要在其上写一个wiki页面来显示一些基本的使用模式.
内容总结
以上是互联网集市为您收集整理的java – Spring Reactor在发布者线程数远远高于消费者数量时受益全部内容,希望文章能够帮你解决java – Spring Reactor在发布者线程数远远高于消费者数量时受益所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。