自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

究竟為啥總在凌晨上線,如何進(jìn)行無損發(fā)布

開發(fā) 開發(fā)工具
為什么很多互聯(lián)網(wǎng)公司升級(jí)系統(tǒng),選擇在晚上上線?美名其曰,晚上上線,對(duì)用戶影響最小。

為什么很多互聯(lián)網(wǎng)公司升級(jí)系統(tǒng),選擇在晚上上線?

美名其曰,晚上上線,對(duì)用戶影響最小。

[[356497]]

為什么會(huì)對(duì)用戶產(chǎn)生影響?

很多人認(rèn)為,系統(tǒng)升級(jí)往往需要重啟,重啟的過程中,正在訪問的用戶會(huì)訪問失敗。

例如,如果升級(jí)的是web-server:

如上圖,重啟ip1上的tomcat時(shí),tomcat上或許有1000個(gè)http請(qǐng)求正在處理,這些請(qǐng)求就會(huì)失敗。

又例如,如果升級(jí)的是service:

如上圖,重啟ip1的service時(shí),service上或許有2000個(gè)請(qǐng)求正在處理,這些請(qǐng)求就會(huì)失敗。

web-server升級(jí)能否不影響正在處理的請(qǐng)求?

可以,需要nginx和web-server配合。

(1) 給nginx發(fā)指令,將ip1上的流量切走;

(2)nginx不會(huì)將新流量放給ip1,舊流量會(huì)很快處理完成;

(3)舊流量完成后,升級(jí)web-server;

此時(shí),ip1上的web-server處于沒有流量的狀況,可以隨便玩:

  • 停服務(wù)備份
  • 升級(jí)(粉色代表升級(jí)后的節(jié)點(diǎn))
  • 服務(wù)重啟
  • 測(cè)試工程師直連ip1進(jìn)行驗(yàn)證
  • 驗(yàn)證完畢

(4) 給nginx發(fā)指令,將流量切回ip1;

(5) 流量切回ip1,單節(jié)點(diǎn)上線成功;

一個(gè)節(jié)點(diǎn)升級(jí)完成之后,其他節(jié)點(diǎn)可以依次逐臺(tái)升級(jí)。

service升級(jí)能否不影響正在處理的請(qǐng)求?

可以,需要RPC-client和RPC-server配合。

(1)向準(zhǔn)備升級(jí)的service節(jié)點(diǎn)ip1發(fā)送切流量指令;

這里和web-service不同:

  • web-service是向上游nginx發(fā)指令切流量;
  • service是通過下游server發(fā)指令切流量;

(2) RPC-server通過tcp長(zhǎng)連接將切流量的指令通知RPC-client;

執(zhí)行切流量指令的組件最終是RPC-client上的tcp連接池。

(3) RPC-client不再將新流量放給ip1,舊流量逐步處理完成;

為啥不能像web-server一樣,直接給上游nginx發(fā)指令呢,因?yàn)閟ervice有太多的上游。

(4) 舊流量逐步遷移完成,RPC-client會(huì)間歇性重連;

此時(shí),ip1上的service處于沒有流量的狀況,可以隨便玩:

  • 停服務(wù)備份
  • 升級(jí)(粉色代表升級(jí)后的節(jié)點(diǎn))
  • 服務(wù)重啟

這個(gè)過程中,RPC-client會(huì)間歇性嘗試重連(例如每分鐘重試一次),直至ip1節(jié)點(diǎn)恢復(fù);

(5)流量切回ip1,單節(jié)點(diǎn)上線成功;

一個(gè)節(jié)點(diǎn)升級(jí)完成之后,其他節(jié)點(diǎn)可以依次逐臺(tái)升級(jí)。

是否還有其他注意事項(xiàng)?

  • 如果沒有實(shí)現(xiàn)服務(wù)自動(dòng)發(fā)現(xiàn),服務(wù)治理,早期可以這么玩;
  • web-server無損升級(jí),強(qiáng)烈建議腳本化;
  • service無損升級(jí),需要服務(wù)框架支持;

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

戳這里,看該作者更多好文

 

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2018-11-07 06:35:50

互聯(lián)網(wǎng)服務(wù)化高可用架構(gòu)

2018-08-16 09:00:44

2018-10-15 05:13:38

WiFi網(wǎng)速帶寬

2009-08-20 08:46:01

Windows 7歐洲版售價(jià)

2022-09-16 10:14:41

消息順序性分布式架構(gòu)

2016-12-05 11:48:27

IBM存儲(chǔ)IBM存儲(chǔ)

2013-03-14 09:59:26

超級(jí)計(jì)算機(jī)泰坦HPC

2025-03-26 11:40:28

2021-04-14 10:31:43

運(yùn)營(yíng)商5G網(wǎng)絡(luò)

2013-01-28 10:11:24

敏捷設(shè)計(jì)敏捷開發(fā)

2017-07-28 11:31:59

iOS結(jié)構(gòu)優(yōu)化項(xiàng)目

2009-12-08 11:34:40

WCF Windows

2010-02-01 10:21:36

Python編碼轉(zhuǎn)換

2010-02-22 16:05:40

Python配置

2013-10-17 23:12:12

Windows 8.1Windows 8.1

2021-08-26 10:05:31

APP安全加密網(wǎng)絡(luò)攻擊

2024-07-08 08:38:37

Python游戲開發(fā)

2010-06-03 11:01:32

Hadoop安裝部署

2010-09-17 15:36:24

2019-12-26 07:39:36

互聯(lián)網(wǎng)架構(gòu)ip
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)