色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Java分布式架構可以把所有項目部署到一臺機器上嗎?

林雅南2年前12瀏覽0評論

謝邀~

技術上可行,但是架構上不建議。

技術上可行

幾種部署方式,第一個不太建議,后兩種方案都還可以:

  • 直接部署,不同的軟件、中間件占用不同的端口:例如數據庫Mysql占用3306端口,多套不同的程序使用Tomcat部署,占用不同的端口,或者使用SpringBoot的話,啟動時候指定不同的端口;相同的應用前面掛一個負載均衡,或者直接安裝注冊中心到這臺機器上。其余用到的軟件,也一窩蜂的安裝在同一臺機器上。

  • 虛擬化:使用虛擬化技術,將一臺物理機,虛擬成多臺虛擬機,然后分別在每個虛擬機中,安裝不同的軟件、中間件,最終完成部署,彼此相互隔離。

  • 容器技術:比如Docker;和虛擬化類似(詳情參考我的另一個回答:《docker容器與虛擬機有什么區別?》),容器技術更輕量級、更容易部署和移植、并且可以彈性伸縮;相同配置的服務器,部署容器的數量會比虛擬機多很多。

架構上不建議

主要出于兩方面的考慮:

  • 首先是資源方面的考慮,如果所有項目都部署在一臺機器上,那么單機的資源配置可能會是瓶頸。

  • 第二,單機意味著單點,單點很危險,如果這臺物理機器出現了故障,那么所有項目就都掛了;所以很多公司都會采用多機器、多機房、甚至多地多中心。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。