簡介

今天主要討論一下,對于分布式服務,站點如何平滑的上下線問題。 

分布式服務

在分布式服務下,我們會用nginx做負載均衡, 業(yè)務站點訪問某服務站點的時候, 統(tǒng)一走nginx, 然后nginx根據(jù)一定的輪詢策略,將請求路由到后端一臺指定的服務器上。 

seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

 seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

這樣的架構是沒有問題的, 但是我們這里考慮幾個問題, 

1. 網(wǎng)站上下線問題:我們網(wǎng)站平時更新站點的時候是直接覆蓋文件,然后重啟, 那這樣會造成一些請求中斷,如果是非核心邏輯那還好, 如果是核心邏輯,那請求中斷,會影響一些數(shù)據(jù)一致性,比如資金, 交易,訂單等。  

 2. 動態(tài)加減機器,比如某個站點訪問量大,要新增機器,那就需要修改nginx的配置,然后reload, 這樣會中斷連接。 雖然reload很快,但是還是會有一瞬間的請求中斷。 

 

對于第一個問題,我們可以在請求量少的時候去更新, 但是這種在一些服務穩(wěn)定的公司可用, 對于互聯(lián)網(wǎng)企業(yè),可能2-3天就一個版本, 而且需要立刻上線, 如果每次都要等到凌晨4點去更新, 可能整個的開發(fā)節(jié)奏都被帶慢了。 

對于第二個問題, 對于可以預見的流量,比如大促來臨,可以提前3天放在請求量少的時候更新。 

 

最近幾年,隨著SOA的普及和微服務的出現(xiàn),特別是dubbo的出現(xiàn),服務治理的概念被提出來。 服務治理是一個很宏大的概念,包括服務注冊,服務自動發(fā)現(xiàn),服務路由,服務依賴,集群容錯,服務降級,服務監(jiān)測,服務審批等,當然不是每個服務中心都必須實現(xiàn)這些東西, 公司可以根據(jù)自己的實際需求來定制實現(xiàn)。 

基于Nginx dyups模塊的動態(tài)上下線

基于以上這些情況, 我計劃實現(xiàn)一個工具,這個工具首先解決站點上下線和動態(tài)擴容問題,也就是說在不需要重啟nginx的情況下,并且在保證請求不丟失的情況下來更新站點。 同時帶有部分服務治理功能。 

 seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

seo優(yōu)化培訓,網(wǎng)絡推廣培訓,網(wǎng)絡營銷培訓,SEM培訓,網(wǎng)絡優(yōu)化,在線營銷培訓

 

服務上線

1. 在一個新服務上線的時候,一般會提前申請幾臺機器, 運維會在nginx上新增server,并新增server對應的upstream ,正常情況下upstream應該配置是后端服務器的IP,但是這里不配置(如果允許,甚至這一步都可以省略)。 

2. 服務部署好并啟動,在啟動的時候,向注冊中心注冊自身的服務信息,包括IP和端口。 

3. 注冊中心收到請求后,會對服務進行健康檢測,確保提供的服務沒有問題,則將服務狀態(tài)標示為預上線狀態(tài)。 

4. 在后臺管理中心,就可以將

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式