回覆列表
  • 1 # 此生唯一

    同時協作這個概念是不是題主理解錯了?

    nginx作為反向代理使用負載均衡連線應用伺服器,嚴格來說這幾個應用伺服器的對外功能是一樣的!

    譬如說整個業務系統是一個電商系統,那麼伺服器上部署的應用服務彙總了會員註冊登入,購物車,訂單,積分,支付等等服務,作為一個單一的服務軟體部署在伺服器上,但是單一系統併發能力有限,所以才用nginx作為中介,連線多臺應用伺服器,搭建了服務叢集,對外提供統一的業務服務!這都是由nginx作為負載均衡中間層根據不同的均衡策略分發到不同的伺服器上,不同的伺服器之間可以有session,資料庫連線,快取共享,但並不屬於相互協作範疇!

    而如果是幾臺伺服器之間的服務各自不同,比如說一臺伺服器上是積分服務,一臺是訂單服務,一臺是SSO等等,這樣相互協同工作組成的系統叫分散式系統!而這樣的分散式服務,單純依靠nginx是做不到的,因為nginx的功能主要是做負載均衡分發,而不是作為各系統之間的資料中介!

    一般分散式服務(微服務),使用dubbo,spring boot形式的框架開發,相互之間透過某種協議(tcp,http等)相互呼叫,形成一種對外高度透明,統一的應用系統!而服務的註冊和發現通常使用zookeeper,eureka等伺服器!

    當然題目中提到的,使用nginx整合多臺業務系統服務得到的應用叢集也屬於分散式範疇,因為其中一臺機器宕機不影響整個系統的對外服務,應用分佈在不同的伺服器節點上,形成一個高可用,穩定的系統!

    分散式系統作為大型高併發,高可用性的系統,一定會成為以後的架構主流,所以好好掌握分散式才能不被out!

  • 2 # 一個存在感小透明

    先說結論,可以利用Nginx的反向代理能力,集合幾個負責不同功能的server節點,從而實現分散式;也可以利用Nginx的負載均衡能力,集合幾個相同功能的server節點,從而實現服務的高穩定性。

    目前Nginx已經逐漸成為平臺服務必不可少的一環,就是因為它的反向代理與負載均衡能力滿足了開發者對產品服務高可用性以及模組解耦的需求。

    接下來我們分別來解釋反向代理與負載均衡。

    反向代理

    反向代理是針對伺服器端。對於使用者來說,他只知道反向代理伺服器的地址,但是反向代理伺服器後面通常指向了多個伺服器,負責了相同或者不同的模組。Nginx會根據conf檔案中配置的正則表示式來解析使用者實際請求的url path,然後再將請求轉發至不同的伺服器進行處理,最後再將請求結果返回給使用者。這個過程就叫做反向代理,因此可以看做將不同的能力,不同的server整合到一個host和ip,從而減少使用者的使用負擔,也是對使用者更加友好。

    負載均衡

    與反向代理相對應的是負載均衡。

    我透過一個例子來解釋,當一臺伺服器能夠承受的qps只有2000,但是當前使用者量激增,qps達到了3500,在不修改程式碼不最佳化的情況下如何解決呢。

    我們可以再佈置一臺server,兩臺伺服器一起處理請求,從整體上來看,qps就達到了4000。但是兩臺伺服器有不同的ip,我們總不能在擴容後和使用者說,你的第奇數個請求發到8080埠,第偶數個請求傳送到8082吧。

    如何處理這個問題呢?這就用到了負載均衡。

    我們可以在Nginx的conf檔案中為同一個型別的path配置指向兩臺伺服器地址,這樣對於使用者來說,他依然只需要請求Nginx的地址即可,Nginx會根據當前兩臺伺服器的情況決定將請求轉發給哪一個。這樣佈置還有一個好處,就是如果其中一個節點宕機了,只要另一個節點還活著,從使用者的角度,整個服務就還能夠運轉,因為Nginx會將請求轉給有正常反饋的server。

    我曾經嘗試過,在兩臺伺服器一樣壓力的情況下,請求是均勻分給兩個不同的伺服器的。

    基於我相信大家已經對我說的“利用Nginx的反向代理能力,集合幾個負責不同功能的server節點,從而實現分散式;也可以利用Nginx的負載均衡能力,集合幾個相同功能的server節點,從而實現服務的高穩定性”有了進一步的瞭解了。

  • 3 # 超級無敵宇宙第一噴子

    分散式系統(distributed system)是建立在網路之上的軟體系統。正是因為軟體的特性,所以分散式系統具有高度的內聚性和透明性。因此,網路和分散式系統之間的區別更多的在於高層軟體(特別是作業系統),而不是硬體。內聚性是指每一個數據庫分佈節點高度自治,有本地的資料庫管理系統。透明性是指每一個數據庫分佈節點對使用者的應用來說都是透明的,看不出是本地還是遠端。在分散式資料庫系統中,使用者感覺不到資料是分佈的,即使用者不須知道關係是否分割、有無副本、資料存於哪個站點以及事務

  • 中秋節和大豐收的關聯?
  • 油價上漲帶來的通脹是否一定伴隨貨幣超發?或者其他形式的流通貨幣增加?