最近我碰到被稱爲麒麟Ruby的Web服務器來了,它有一個簡單而絕妙的主意:如何在共享套接字上運行本地tomcat集羣?
當獨角獸主機啓動,它加載我們的應用程序到內存中。一旦它準備好爲請求服務,它將派出16名工作人員。然後這些工作人員在套接字上選擇(),僅處理他們能夠處理的請求。通過這種方式,內核爲我們處理負載平衡。
針對此並行將設置與-Xmx384MB每個本地Tomcat集羣,然後讓每個人一個「共享插座上選擇(),只提供請求他們能夠處理」
我想知道如何調整tomcat源代碼或一些腳本,以使這種情況發生?
想想所有的可能性,如果你可以使用福爾曼一次運行3個併發的tomcat應用服務器!
謝謝,我正在尋找進程級別的可用性,所以我仍然想知道如何設置多個進程而不是擴展線程。 Einhorn看起來很有前途,我仍在深入研究它:https://stripe.com/blog/meet-einhorn – pulkitsinghal 2013-03-05 15:53:47
Einhorn不符合J2EE標準,因此它可以削減很多角落。爲了做類似於Tomcat的事情,您需要啓動多個Tomcat進程(每個需要自己的套接字)以及負載均衡器代理/ http服務器。 – 2013-03-05 15:56:12
這就是我想要避免的!我很想在某個地方改變一些tomcat的源代碼(或者可能是遺留的祕密),這樣我就可以啓動多個tomcat來使用共享套接字/端口。 – pulkitsinghal 2013-03-05 18:04:45