APP架構公升級之路

2021-07-12 07:24:39 字數 1110 閱讀 9293

本文主要內容包括:

緊密耦合

無線介面和web應用緊耦合,web端的修改會影響無線介面,web端的發布導致無線介面被動連帶發布,web端的bug影響無線介面的可用性,反過來也一樣,無線介面的任何變化會影響web應用。

重複開發

穩定性

圖二 系統拆分示意

對等隔離

統一服務

統一閘道器入口

throws

exception

adapter物理上是jar包,由各個業務線研發團隊提供,作為相應soa服務的前置,最終所有adapter集中部署在閘道器,閘道器本身支援水平擴充套件。

閘道器支援集中管控的同時,也帶來單點問題。假設後台某個服務介面,由於某種原因,效能有嚴重問題,對應adapter處理很慢,那麼閘道器所在伺服器的執行緒很快被耗盡,導致單個介面拖垮整個系統。這種問題,單純通過加機器,水平擴充套件閘道器數量是解決不了的,實踐中,我們引入智慧型公升降級機制快速隔離單個介面的影響,如圖四所示: 

圖四 智慧型公升降級

針對特定乙個介面,如果在一定時間間隔內(比如5秒鐘),它的超時失敗率到了一定比例(比如2%),閘道器會對該介面做降級處理,隨機拋棄部分流量,比如只允許50%流量通過。下乙個5秒再評估,如果失敗率還沒有改善,允許通過的流量降到25%,以此類推。

如果成功率好轉,閘道器對該介面做公升級處理,提公升通過的流量比例,為了快速恢復,一般提公升到原流量4倍,然後在下乙個時間段再評估是否觸發公升降級。

整個過程全自動智慧型處理(為防止誤判,可支援人工干預),這樣單個介面出問題,不會影響整個閘道器的處理能力。

底層核心的soa服務基於統一業務規則提供邏輯和資料,介面不區分pc、無線或其他渠道(如open api),避免重複開發,避免業務邏輯被汙染。所有前端一母同胞,本是同根生。

根據無線本身的特點,支援系統層面的集中處理和業務層面的分散處理。通用邏輯支援外掛程式化擴充套件,可以根據需要逐步補充;adapter實現內外部介面的無縫轉換,可以針對無線場景,做邏輯增強(如服務聚合)。前面師傅領進門,後面修行靠各媽。

電腦公升級之路

從讀書的時候第一台電腦到現在一共換了七台電腦了。第一台2008是amd3200 1g記憶體200g硬碟,好像是集顯來著,顯示器是17寸的來著。那是因為學習需要電腦所以自己去電腦城組裝的一台,對於計算機人士,當時組裝電腦還蠻牛的。能力的體現。第二台2010電腦是因為上班的需要,因為需要出差,而且在甲方...

程式更新,app公升級

程式更新 一 獲取程式的版本號 1.獲取包管理器 2.獲取到包的資訊 packageinfo info manager.getpackageinfo context.getpackagename 0 3.得到版本號 info.versioncode 二 判斷當前版本與線上版本是否一致,已經更新的內容...

php架構之路

鑑於最近跟小夥伴聊了很多php架構發展方向的問題,相關技術整理了一下,也順便規劃了一下自己的2019年。一.常用的設計模式以及使用場景 以下是我用到過的 工廠,單例,策略,註冊,適配,觀察者,原型,裝飾器,facade,loc,pipeline 三.常用利器優化 mysql效能優化 1 理解底層bt...