APP微服務高可用建構簡易描述
這個微服務是我負責的某大型app一個重要的微服務,并發量峰值是5000 秒,微服務的信息需要調用外部業務服務器獲取信息,且要調用四個外部業
這個微服務是我負責的某大型app一個重要的微服務,并發量峰值是5000/秒,微服務的信息需要調用外部業務服務器獲取信息,且要調用四個外部業務器的接口四次才能返回完整的信息。
第一個版本:
由于業務服務器不是我們負責的,對方的研發人員基于一些原因,不愿意提供一個完整信息的接口給我們,因此需要通過四次遠程調用接口才能獲取到完整信息,可靠性和性能大大打折。
為了提供可靠性和性能,增加了一層緩存器,緩存時間為30秒,先從30秒緩存服務器查詢,如果沒有命中緩存,再去外部業務服務器查詢。緩存服務器是公司自研的,實現了在不同機房之間的緩存數據同步。
第二個版本:
由于緩存的數據生效時長是30秒,當緩存數據失效,查詢外部業務服務器也失敗或者超時的情況下,這個微服務就掛掉了,研發人員也得背鍋了。因此再加多一層永久緩存服務器。每次從外部業務部器查詢到數據后,同時把數據保存到30秒緩存服務器和永久緩存服務器,兩個緩存服務器的生效時長不一樣,一個是30秒,一個是永久。
當失敗超過50次時,就會使用永久緩存服務器代替30秒緩存服務器,永久緩存服務器的數據是一直不過期,如果長時間使用,會導致查詢到的數據不是最新的。因此在后臺程序定時去清空失敗計數器,當失敗計數器為0時,又使用回30秒緩存服務器。
上面已經保證了后端的程序高可用性,根據監控數據可靠性達到99.9994%,但是還存在一層容易出問題的地方,就是在手機app與業務服務器之間,可能由于網絡原因導致失敗或者超時。
該服務是查詢界面的模板ID,業務上有幾種模板,其中有一種是默認模板。
當app調用業務器超時或者失敗的情況,客戶端將當做默認模板處理,保證用戶可以使用頁面的精簡功能點。
責任編輯:售電衡衡
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市