生產問題--交易超時

問題背景:網聯項目,兩臺服務器,F5負債均衡。每次生產上線,總會造成一兩筆交易超時。

操作過程:週四7點,增量上線響應代碼,編譯,停止其中一臺,馬上重啓。(停止重啓的操作,大概2到3秒)另一臺服務器同樣如此

問題記錄:每次生產上線。總會造成一兩筆交易超時。

問題分析:當我停止其中一臺服務器時,F5,就不會將新的交易請求發到已停止的服務器來。可是爲什麼會有超時的交易。是因爲,我在停止的過程中,還有正在處理的請求嘛。(系統qps不高,平常一秒大概兩三個請求)

問題備註:如果加上隊列服務器,是否能解決。問題先放這兒,還在思考

 

後續思考:

網聯對同步性要求很高,所有請求都是同步的。所以如果加上隊列,響應時間會延長。

 

後續問題結果及解決方案:

通過了解。F5的策略是,基於端口監測。並且發現端口不能使用,到切換路由,間隔爲5秒。

生產上線,只會關閉進程,不會關閉端口。目前系統qps,大概兩三筆。所有單臺服務器收不到請求,導致網聯繫統那邊超時,是正常的現象。如果要解決的話,F5那邊,可以更改策略爲,基於進程監測。通過請求響應報文的方式,判斷系統,是否正常使用。

後後續思考:

之前的想法有點問題,和同事討論。又查了些資料。瞭解到,每個端口都有對應的服務,端口不是獨立存在的,他是依附於進程的。所以,F5策略是沒有問題,只是間隔時間太長

2019-07-18 補充

書上看到一個能完美出現這樣問題的解決方案--版本管理

通過分佈式框架,服務提供者先升級接口發佈新版本的服務,並同時提供舊版本的服務供請求者調用,當請求者調用接口升級後,再關閉舊版本服務(摘自 大型網站技術架構)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章