用nginx這個反向代理服務器實現負載均衡?
同時協作這個概念是不是題主理解錯了?
nginx作為反向代理使用負載均衡連接應用服務器,嚴格來說這幾個應用服務器的對外功能是一樣的!
譬如說整個業務系統是一個電商系統,那么服務器上部署的應用服務匯總了會員注冊登錄,購物車,訂單,積分,支付等等服務,作為一個單一的服務軟件部署在服務器上,但是單一系統并發能力有限,所以才用nginx作為中介,連接多臺應用服務器,搭建了服務集群,對外提供統一的業務服務!這都是由nginx作為負載均衡中間層根據不同的均衡策略分發到不同的服務器上,不同的服務器之間可以有session,https://www.b5b6.com/shujuku/連接,緩存共享,但并不屬于相互協作范疇!
而如果是幾臺服務器之間的服務各自不同,比如說一臺服務器上是積分服務,一臺是訂單服務,一臺是SSO等等,這樣相互協同工作組成的系統叫分布式系統!而這樣的分布式服務,單純依靠nginx是做不到的,因為nginx的功能主要是做負載均衡分發,而不是作為各系統之間的數據中介!
一般分布式服務(微服務),使用dubbo,spring boot形式的框架開發,相互之間通過某種協議(tcp,http等)相互調用,形成一種對外高度透明,統一的應用系統!而服務的注冊和發現通常使用zookeeper,eureka等服務器!
當然題目中提到的,使用nginx集成多臺業務系統服務得到的應用集群也屬于分布式范疇,因為其中一臺機器宕機不影響整個系統的對外服務,應用分布在不同的服務器節點上,形成一個高可用,穩定的系統!
分布式系統作為大型高并發,高可用性的系統,一定會成為以后的架構主流,所以好好掌握分布式才能不被out!
經過多年的開發生活,擁有多年的分布式經驗,如果你在分布式系統相關問題,諸如消息中間件,緩存,https://www.b5b6.com/shujuku/中間件,微服務等有疑惑,歡迎關注交流!