今天主要討論一下,對于分布式服務(wù),站點如何平滑的上下線問題。
在分布式服務(wù)下,我們會用nginx做負(fù)載均衡, 業(yè)務(wù)站點訪問某服務(wù)站點的時候, 統(tǒng)一走nginx, 然后nginx根據(jù)一定的輪詢策略,將請求路由到后端一臺指定的服務(wù)器上。

這樣的架構(gòu)是沒有問題的, 但是我們這里考慮幾個問題,
1. 網(wǎng)站上下線問題:我們網(wǎng)站平時更新站點的時候是直接覆蓋文件,然后重啟, 那這樣會造成一些請求中斷,如果是非核心邏輯那還好, 如果是核心邏輯,那請求中斷,會影響一些數(shù)據(jù)一致性,比如資金, 交易,訂單等。
2. 動態(tài)加減機(jī)器,比如某個站點訪問量大,要新增機(jī)器,那就需要修改nginx的配置,然后reload, 這樣會中斷連接。 雖然reload很快,但是還是會有一瞬間的請求中斷。
對于第一個問題,我們可以在請求量少的時候去更新, 但是這種在一些服務(wù)穩(wěn)定的公司可用, 對于互聯(lián)網(wǎng)企業(yè),可能2-3天就一個版本, 而且需要立刻上線, 如果每次都要等到凌晨4點去更新, 可能整個的開發(fā)節(jié)奏都被帶慢了。
對于第二個問題, 對于可以預(yù)見的流量,比如大促來臨,可以提前3天放在請求量少的時候更新。
最近幾年,隨著SOA的普及和微服務(wù)的出現(xiàn),特別是dubbo的出現(xiàn),服務(wù)治理的概念被提出來。 服務(wù)治理是一個很宏大的概念,包括服務(wù)注冊,服務(wù)自動發(fā)現(xiàn),服務(wù)路由,服務(wù)依賴,集群容錯,服務(wù)降級,服務(wù)監(jiān)測,服務(wù)審批
學(xué)習(xí)是年輕人改變自己的最好方式
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
