多個微信小程序一個服務端架構


       由於某些特定的業務場景,當多個小程序需要一個服務端后台提供數據時,大家可能想到是HTTP路由。是的,實際上我們使用微服務的GateWay網關也是一樣的,如下圖微服務架構:

microserviceArchitecture


    網關GateWay的作用在於提供統一的入口來訪問內部的API, 隔離外部訪問與內部系統。集成了非業務性的功能(如安全檢查、頻次限制、API監控、日志上報等),API生命期管理、請求的轉發、合成、協議轉換、服務發現等多種功能。更多可以參考apigateway

API網關的優點:

  1. 給服務加一層安全保護
    可在這一層做SQL注入、CRSF攻擊防范等WAF層面的安全保護;
  2. 對外提供統一的通信協議,如HTTP或restful api, 屏蔽內部的通信協議
    系統內部可采用自身熟悉的通信協議,如Protobuf 或RPC等;
  3. 降低代碼耦合度、降低開發成本
    將非業務性功能如訪問控制(黑白名單)、頻次限制等集中在網關層處理,開發只需關注自己本業務的需求實現即可,降低了開發成本;
  4. 可靈活灰度及新功能測試
    通過細粒度的流量識別,進而反向代理,業務可靈活灰度及AB測試;
  5. 服務發現
    隨着后端server變動甚至雲化,對服務發現提出了新挑戰,通過在API網關實現服務發現可以簡化客戶端的實現。
  6. 減少客戶端與后台server的交互
    隨着微服務化API更加細粒度,這勢必會加大客戶端對后台server的訪問次數,如做一些返回數據合並,讓客戶端通過一次請求在API網關處合並需要的數據一次性返回等,但這一塊業務性太強,像業界的方案很少有做一塊的,大部分實現是在API網關后端加了一個BBF(backend for frontend)來做數據的整合;
  7. 對API進行管理;

業界常用的API網關方案對比


1505461900148_1253_1505461900561

演化為:

183930uy040g5vlfsliffq

騰訊雲提供的Wafer解決方案

a54f5f48-b74b-11e6-972f-6dce2cd8c31a

Tips:現實中單體小程序架構不需求這么復雜架構, 具體問題需要量體裁衣。

------------------------------------------------------------------

今天先到這兒,希望對您在系統架構設計與評估,團隊管理, 項目管理, 產品管理,團隊建設 有參考作用 , 您可能感興趣的文章:
微服務架構設計
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計划
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規划方案一(網絡系統規划)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變

如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]



作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM