為什麼很多公司公升級系統,選擇在晚上上線?
答:美名其曰,晚上上線,對使用者影響最小。
為什麼會對使用者產生影響?
答:系統公升級往往需要重啟,重啟的過程中,正在訪問的使用者會訪問失敗。
如果公升級的是web-server:
如上圖,重啟ip1上的tomcat時,tomcat上或許有1000個http請求正在處理,這些請求就會失敗。
如果公升級的是service:
如上圖,重啟ip1的service時,service上或許有2000個請求正在處理,這些請求就會失敗。
web-server公升級能否不影響正在處理的請求?
答:可以,需要nginx和web-server配合。
(1)給nginx發指令,將ip1上的流量切走
(2)nginx不會將新流量放給ip1,舊流量會很快處理完成
(3)舊流量完成後,公升級web-server
此時,ip1上的web-server處於沒有流量的狀況,可以隨便玩:
(4)給nginx發指令,將流量切回ip1
(5)流量切回ip1,單節點上線成功
乙個節點公升級完成之後,其他節點可以依次逐台公升級。
service公升級能否不影響正在處理的請求?
答:可以,需要rpc-client和rpc-server配合。
(1)向準備公升級的service節點ip1傳送切流量指令
這裡和web-service不同:
(2)rpc-server通過tcp長連線將切流量的指令通知rpc-client
執行切流量指令的元件最終是rpc-client上的tcp連線池。
(3)rpc-client不再將新流量放給ip1,舊流量逐步處理完成
為啥不能像web-server一樣,直接給上游nginx發指令呢,因為service有太多的上游。
(4)舊流量逐步遷移完成,rpc-client會間歇性重連
此時,ip1上的service處於沒有流量的狀況,可以隨便玩:
這個過程中,rpc-client會間歇性嘗試重連(例如每分鐘重試一次),直至ip1節點恢復
(5)流量切回ip1,單節點上線成功
乙個節點公升級完成之後,其他節點可以依次逐台公升級
是否還有其他注意事項?
答:
docker在windows上為啥需要虛擬化。
docker在linux上執行不需要虛擬化,但是,如果在windows上安裝執行就需要虛擬化,找到答案了。docker 底層的核心技術包括 linux 上的名字空間 namespaces 控制組 control groups union 文 件系統 union file systems 和容器格式 ...
為啥VS2017安裝不上
誰知道怎麼處理阿,煩啊 我就是官網下的.不知道,看看有沒有win7的補丁。反正我之前win7安裝的是vs2012.之後都是win10安裝的2019 win7的話 看你系統是否是閹割版。然後管理員執行安裝。官網沒有離線安裝包,用19吧,幾個小時應該就可以了,看起來像是不在系統支援列表裡面,這是官方的系...
小票上為啥指甲能劃出印 如何簡單安全去痘印?
年少用錯化妝品,導致起了半臉的痘痘,留下了不少痘印!不過經過我精心的調養,之前的痘印基本已經不見了!今天我就來結合我的經驗給你最簡單有效的去痘印方法!目錄1.痘印的種類及成因 2.去痘印之前先祛痘 3.如何去痘印?痘印,顧名思義就是痘痘損破後留下的疤痕。分為紅色痘印 黑色痘印以及痘坑。痘印本身具有新...