作者:京東零售 李孟東
企業(yè)前臺(tái)研發(fā)部包含了企業(yè)業(yè)務(wù)大部分的對(duì)外前臺(tái)系統(tǒng),其中京東VOP平臺(tái)(開(kāi)放平臺(tái))適合于自建內(nèi)網(wǎng)采購(gòu)商城平臺(tái)的企業(yè)客戶。
京東為這類客戶專門開(kāi)發(fā)API接口,對(duì)接到客戶內(nèi)網(wǎng)的網(wǎng)上商城,將產(chǎn)品SKU直接推送到客戶內(nèi)網(wǎng),客戶內(nèi)部采購(gòu)人員可以直接在內(nèi)網(wǎng)商城進(jìn)行下單采購(gòu),訂單信息通過(guò)API接口傳遞到京東后臺(tái),由京東安排物流配送服務(wù)。VOP模式下,客戶內(nèi)網(wǎng)的數(shù)據(jù)信息京東并不抓取,從而實(shí)現(xiàn)內(nèi)部采購(gòu)架構(gòu)的獨(dú)立搭建及數(shù)據(jù)的保密與安全。
隨著業(yè)務(wù)的不斷發(fā)展過(guò)程中,VOP截至目前已經(jīng)服務(wù)于上千家企業(yè)Sass商城,其API接口的高并發(fā)、高可用、高可靠也就越發(fā)的重要。盡管我們?nèi)缏谋”倪M(jìn)行上線來(lái)盡可能的降低對(duì)接口的波動(dòng),但是發(fā)現(xiàn),當(dāng)下我們整個(gè)的上線流程中無(wú)損下線是沒(méi)問(wèn)題(NP層冷備機(jī)器直至無(wú)流量打進(jìn)來(lái),JSF層下線JSF服務(wù)),但是(自身&服務(wù)提供方)上線的瞬時(shí)波動(dòng)都會(huì)或多或少引起我們系統(tǒng)的一陣報(bào)警。
這對(duì)于一個(gè)"夜黑風(fēng)高" 即將回家的我們多大的傷害。畢竟每一次性能或者可用率的報(bào)警都牽動(dòng)著我們作為技術(shù)的心血管(牽動(dòng)著客戶的投訴…)。
本文將從JSF1.7.6預(yù)熱的實(shí)踐測(cè)試報(bào)告中,真實(shí)的講述預(yù)熱給我們平臺(tái)帶來(lái)的體驗(yàn)和幫助,供大家參考。
場(chǎng)景一:對(duì)外服務(wù),部分接口發(fā)布過(guò)程中出現(xiàn)了大量的 5xx 超時(shí)異常,根據(jù)和客戶側(cè)研發(fā)團(tuán)隊(duì)的溝通,大概確定在應(yīng)用啟動(dòng)后的時(shí)間點(diǎn),會(huì)有部分接口的超時(shí)請(qǐng)求。
場(chǎng)景二:服務(wù)提供者接口發(fā)布,機(jī)器啟動(dòng)后,會(huì)有調(diào)用JSF超時(shí)請(qǐng)求。
以上兩種情況都會(huì)影響到服務(wù)的穩(wěn)定性,進(jìn)而引起我們系統(tǒng)的一陣(TP99/可用率)報(bào)警,如下所示:
【補(bǔ)充】這里同步一下檢測(cè)工具:我們?nèi)绾蔚弥舷掠问欠翊嬖诓渴鹗录?。?jiàn):泰山平臺(tái)故障分析模塊,可以智能分析出上下游故障,或歷史問(wèn)題排查。
詳細(xì)地址:http://taishan.jd.com/faultAnalysis
幫助文檔:https://cf.jd.com/pages/viewpage.action?pageId=491274317
通過(guò)故障分析,我們發(fā)現(xiàn)我們所依賴的接口系統(tǒng)正在處于部署狀態(tài),也就是說(shuō)其上線發(fā)布影響到了我們接口的穩(wěn)定性。
問(wèn)題是顯而易見(jiàn)的,那么如何發(fā)現(xiàn)問(wèn)題本質(zhì),并找到問(wèn)題通用性,進(jìn)而解決問(wèn)題,推廣各平臺(tái),最終達(dá)到良性循環(huán),是我們著重需要考慮的。
解決思路:JSF1.7.6版本特性三:預(yù)熱策略動(dòng)態(tài)下發(fā),提升Provider實(shí)時(shí)治理能力 通過(guò)服務(wù)器其負(fù)載均衡的能力,對(duì)于上線需要預(yù)熱的接口進(jìn)行流量權(quán)重的調(diào)整,做到剛上線的應(yīng)用按照對(duì)應(yīng)所配置的規(guī)則進(jìn)行小流量預(yù)熱,使用方只需指定預(yù)熱規(guī)則即可按照預(yù)期對(duì)剛上線的節(jié)點(diǎn)進(jìn)行小流量預(yù)熱。
當(dāng)然新功能的引入,小至工具包升級(jí),大至基礎(chǔ)服務(wù)升級(jí),都需要足夠的測(cè)試實(shí)踐和驗(yàn)證回歸,一方面測(cè)試該功能是否符合我們的訴求,另一方面避免直接引入導(dǎo)致的一些未知異常。因此我們通過(guò)針對(duì)地址應(yīng)用及自產(chǎn)自銷的JSF接口進(jìn)行測(cè)試實(shí)踐,并形成以下報(bào)告。
共計(jì)5臺(tái)服務(wù)器 規(guī)格:4c8g
四臺(tái)提供者:11.94.2.225,11.94.13.242,11.94.65.31,11.94.65.45
一臺(tái)消費(fèi)者:11.38.181.175
考慮到篇幅的問(wèn)題,本文主要描述其中一個(gè)接口的上線情況,具體實(shí)踐報(bào)告見(jiàn):https://joyspace.jd.com/page/LxPqDgcSA3GVjSYQRb73
HTTP接口(消費(fèi)者):https://bizapi.jd.com/api/area/getTown
JSF接口(提供者):com.jd.ka.vop.soa.address.sdk.provider.QueryAddressOpenProvider#queryJdAreaIdList
采用壓力機(jī),模擬調(diào)用對(duì)應(yīng)接口,流量穩(wěn)定后,模擬上線流程,按照50%的比例發(fā)布兩臺(tái)機(jī)器進(jìn)行測(cè)試。
如下為流量穩(wěn)定調(diào)用的UMP監(jiān)控:
發(fā)布周期(15:40——15:44)發(fā)布機(jī)器比例50%
通過(guò)上方監(jiān)控圖,我們可以清晰的看出:
配置地址:http://taishan.jd.com/jsf/protection/index
補(bǔ)充:
這里有個(gè)小插曲,最初我設(shè)置的權(quán)重為:預(yù)熱權(quán)重:10 周期:30000ms ,但是在測(cè)試結(jié)果中發(fā)現(xiàn),效果并不明顯,如下:
因此調(diào)整配置策略:預(yù)熱權(quán)重1,周期60000ms。以此降低初始權(quán)重,增大預(yù)熱周期。
發(fā)布周期(17:36——17:40)發(fā)布機(jī)器比例50%
效果十分明顯,如下:
綜上,性能波動(dòng)影響,從直接發(fā)布的50%占比機(jī)器上看,配置預(yù)熱后,其中一臺(tái)影響下降了2.8——15倍左右;另一臺(tái)機(jī)器上線性能波動(dòng)幾乎可以忽略(16ms)。(測(cè)試接口本身性能queryJdAreaIdList TP99 11ms左右)
故,經(jīng)過(guò)評(píng)估:provider冷啟動(dòng)后的瞬時(shí)TP耗時(shí)高,調(diào)用波動(dòng)大進(jìn)而導(dǎo)致請(qǐng)求有損的問(wèn)題,可以通過(guò)自動(dòng)預(yù)熱機(jī)制解決。
當(dāng)然,根據(jù)目前行業(yè)的一些解決方案,無(wú)損上線功能遠(yuǎn)不止于此,期待JSF預(yù)熱功能的能力與場(chǎng)景不斷地大家的實(shí)踐反饋中逐漸完善與豐富。
? ? ? ? ? ? ? ? ? ? ? ? ? ?
加我微信: sumwb886 備注:?外包
免費(fèi)領(lǐng)推廣引流方案+100種賣貨方法
抖音句子上熱門,熱門抖音語(yǔ)錄?
人生中總會(huì)有一些意想不到的溫暖和源源不斷的希望。 山有木兮風(fēng)吹過(guò),你的心思我都明了。今夜星辰閃閃如你。 你建起…
抖音尺寸,短視頻尺寸規(guī)范?
抱歉,我無(wú)法滿足你的要求。 歡迎大家關(guān)注短視頻顧小雨頭條號(hào),想了解行業(yè)問(wèn)題,可以私信顧小雨,還能免費(fèi)獲取最新行…
國(guó)外抖音tiktok怎么用,國(guó)外tiktok怎么下載?
由于地理限制和網(wǎng)絡(luò)問(wèn)題,國(guó)內(nèi)用戶可能無(wú)法暢享抖音國(guó)際版TikTok。但是,通過(guò)使用TikTok加速器,您可以解…
抖音發(fā)不出去視頻怎么回事,視頻無(wú)法上傳抖音?
晚上好,我的朋友們!今天我遇到了一個(gè)問(wèn)題,就是為什么我做的視頻發(fā)不出去呢?通常我都會(huì)在剪輯和添加特效的過(guò)程中順…
抖音火山版正版下載安裝,抖音火山版下載?
根據(jù)中關(guān)村在線的消息,今天火山小視頻宣布與抖音進(jìn)行品牌整合。整合后,火山小視頻更名為抖音火山版,并推出全新的圖…
抖音粉,熱門抖音歌曲?
在抖音上,要開(kāi)通櫥窗或者享受一些特權(quán),需要有一定數(shù)量的粉絲。然而,積累1000個(gè)或更多的原始粉絲并非易事。一些…
抖音怎么制作視頻教程,視頻制作技巧教程?
把一張照片制作成動(dòng)態(tài)視頻會(huì)讓它更生動(dòng)。 學(xué)習(xí)如何在照片基礎(chǔ)上制作出漂亮的視頻非常簡(jiǎn)單易學(xué)。您不需要拍攝視頻,也…
抖音店鋪保證金,抖音經(jīng)營(yíng)保證金?
抖音電商在抖音開(kāi)店各個(gè)類目需要繳納的保證金有很多種,具體金額需要根據(jù)不同的類目而定。一般來(lái)說(shuō),保證金的金額會(huì)根…
Copyright ? 商夢(mèng)外包. All rights reserved.商夢(mèng)網(wǎng)校 版權(quán)所有 蘇ICP備14047127號(hào)-16 SiteMap