亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

分布式系統如何尋址?

通過 RPC 框架,能夠解決服務之間的跨網絡通信問題,是微服務改造的基礎。

服務拆分之后,需要維護更多細粒度的服務,這樣就涉及到 RPC 客戶端服到服務端的 部署地址問題,如何維護? 這個時候就需要服務注冊和發現。

什么叫服務發現?

所謂的服務發現,就是讓服務調用方知道服務提供方的地址是啥? 比如 Ngnix 作為反向代理器,可以這樣當請求到來時,可以通過 Nginx 知道應用服務器的地址是什么。這個就叫:服務發現

Nginx 是怎么做服務發現的?

答案:Nginx 是將應用服務器的地址放在配置文件中。

vi nginx.conf
location  / {
                proxy_pass http://39.107.125.254:8080/springwebdemo/loginaction.do?op=tologin;
                proxy_set_header Host $host:8080;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Via "nginx";
         }
#刷新配置
./nginx -s reload

proxy_pass 配置的就是對應的 url .

配置proxy_pass代理轉發時,如果在proxy_pass后面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。

但是這樣存在一些問題:

  • 需要擴容的時候,需要修改客戶端配置,重啟客戶端進程,操作起來比較麻煩。
  • 一旦一個服務器出故障,需要修改配置,然后重啟,無法自動修復
  • RPC 服務端上線無法提前摘除流量,也就是說,發往服務端的請求流量依然會存在,客戶端被重啟服務端的請求還沒有返回,會造成客戶端請求失敗。

注冊中心是怎么解決這些問題的?

注冊中心兩點功能:

  • 提供服務地址的存儲
  • 當存儲內容發生變化時,可以將變更的內容推送給客戶端

有了第二個內容,當需要緊急擴容時,當服務器發生故障時,需要快速摘除節點,都不用重啟就可以實現。

使用注冊中心后,RPC 的通信:

分布式系統如何尋址

 

  • 客戶端與注冊中心建立連接,告訴注冊中心。
  • 服務端向注冊中心注冊服務后,注冊中心會將最新的服務注冊信息通知給客戶端。
  • 客戶端拿到服務端的地址之后,就可以向服務端發起調用請求。

服務端的增加減少對于客戶端來說是透明的,這樣可以實現不重啟客戶端,就可以動態地變更服務節點,并且實現優雅關機。

什么是優雅關機

優雅關機的相對面是暴力關機,暴力停止服務,已經發送的請求還沒有來得及處理,就被殺掉,這樣會造成部分請求失敗。因此需要在服務端退出的時候,先停止掉流量,不再受理新的請求,當服務處理完之后再關閉。

分享到:
標簽:分布式 系統
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定