发布于2024-12-11 17:31 阅读(506) 评论(0) 点赞(9) 收藏(0)
我并不真正理解 Heroku 的 dyno 和工作进程模型,因为它与单个进程但多线程的基于 Java 的服务器有关。
例如:我如何知道(对于单个测功机)有多少处理器可用于我的后台线程?我是否需要使用类似 RabbitMQ 的东西并为每个后台处理任务创建一个单独的进程(应用程序)并在服务器和这些进程之间进行通信?对于使用线程缓存执行器的某些计划任务来说,这似乎有点过头了。是否应该将所有 Future 更改为进程间 Future?
我想这可以归结为一个问题。我是否不再需要编写多线程服务器并扩展可用于服务器进程的处理器以适应我的线程活动?或者我是否需要重构我的架构以使用单独的进程进行并发?如果是前者,我需要工作程序还是只需要多个测力计?
谢谢。
Heroku 支持多种并发模型,因此如何构建应用程序完全取决于您。您可以访问完整的 Java 堆栈,因此如果某些东西更适合在您的 Web 进程中作为多个线程运行,您绝对可以这样做,或者您始终可以在 RabbitMQ 或 Redis 等程序上排队作业,并在单独的工作机上处理它们。如果工作量较少且与您的 Web 请求成比例,则多线程更简单且有意义,因为它将与 Web 机一起扩展;但是,如果工作量很大、不成比例和/或需要独立扩展,那么将其分解为单独的进程会更好。
Heroku 最初只是一个 Ruby 平台,它不具备与 Java 相同的线程功能,因此使用单独的工作器测力计对 Ruby 来说更为重要,这反映在某些文档和示例中,这可能会让您感到困惑。幸运的是,使用 Java,您可以拥有更多可用的选项,并可以使用最适合手头工作的选项。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/694590/410cdf408163aa87f495/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!