鑒于雙SDK互備的必要性,避免端上只保留一個SDK,續(xù)約的時候坐地起價問題,需要抽象SDK接口調(diào)用層,從外部抹平SDK差異性。
收益
- 降低采購成本,根據(jù)報價動態(tài)切換SDK,降本增效。
- 穩(wěn)定性,一方出問題了可以智能切到另外一方,而調(diào)用方式與輸出結(jié)果方式不變。業(yè)務調(diào)用方無感知。
- 通過SDK埋點反饋數(shù)據(jù),統(tǒng)計成功率,智能切換到SDK成功率高的服務商,解決進線的識別失敗問題。
實現(xiàn)方案
梳理SDK識別中調(diào)用我們自己服務接口,定義標準的調(diào)起識別服務接口,根據(jù)不同SDK識別結(jié)果,定義標準的結(jié)果返回回調(diào),增加SDK重試上限,超過次數(shù)自動切換到另一SDK。
類似統(tǒng)一驗證網(wǎng)關(guān)設(shè)計理念 https://zhuanlan.zhihu.com/p/577917806
網(wǎng)關(guān)的作用

image.png
對用戶請求做身份認證, 權(quán)限校驗;
將用戶請求路由到微服務, 并實現(xiàn)負載均衡;
對用戶請求做限流。
權(quán)限控制:網(wǎng)關(guān)作為微服務入口,需要校驗用戶是是否有請求資格,如果沒有則進行攔截。
路由和負載均衡:一切請求都必須先經(jīng)過gateway,但網(wǎng)關(guān)不處理業(yè)務,而是根據(jù)某種規(guī)則,把請求轉(zhuǎn)發(fā)到某個微服務,這個過程叫做路由。當然路由的目標服務有多個時,還需要做負載均衡。
限流:當請求流量過高時,在網(wǎng)關(guān)中按照下流的微服務能夠接受的速度來放行請求,避免服務壓力過大。