最近我遇到了一个名为 Unicorn 的 Ruby Web 服务器,它有一个简单而绝妙的想法:
当 Unicorn master 启动时,它将我们的应用程序加载到内存中。一旦它准备好服务请求,它就会分叉 16 个工人。然后这些工作人员在套接字上选择(),只提供他们能够处理的请求。通过这种方式,内核为我们处理负载平衡。
一个并行的方法是设置一个本地 tomcat 集群,每个集群都带有 -Xmx384MB,然后让每个单独的集群“select() 在一个共享套接字上,只为他们能够处理的请求提供服务”
我想知道如何调整 tomcat 源代码或一些脚本以实现这一点?
如果您可以使用 Foreman 一次运行 3 个并发 Tomcat 应用程序服务器,请考虑所有可能性!