SOP(Simple Open Platform)
一個開放平臺解決方案項目,基於Spring Cloud實現,目標是能夠讓用戶快速得搭建起自己的開放平臺。
SOP提供了兩種接口調用方式,分別是:支付寶開放平臺的調用方式和淘寶開放平臺的調用方式。 通過簡單的配置後,你的項目就具備了和支付寶開放平臺的一樣的接口提供能力。
SOP封裝了開放平臺大部分功能包括:簽名驗證、統一異常處理、統一返回內容 、業務參數驗證(JSR-303)、秘鑰管理等,未來還會實現更多功能。
項目特點
- 接入方式簡單,與老項目不衝突,老項目註冊到註冊中心,然後在方法上加上註解即可。
- 架構松耦合,業務代碼實現在各自微服務上,SOP不參與業務實現,這也是Spring Cloud微服務體系帶來的好處。
- 擴展簡單,開放平臺對應的功能各自獨立,可以自定義實現自己的需求,如:更改參數,更改簽名規則等。
誰可以使用這個項目
- 有現成的項目,想改造成開放平臺供他人調用
- 有現成的項目,想暴露其中幾個接口並通過開放平臺供他人調用
- 想搭一個開放平臺新項目,並結合微服務的方式去維護
- 對開放平臺感興趣的朋友
以上情況都可以考慮使用SOP
架構圖
已完成列表
- 簽名驗證
- 統一異常處理
- 統一返回內容
- session管理
- 秘鑰管理
- 微服務端自動驗證(JSR-303)
- 支持Spring Cloud Gateway
- 關閉簽名校驗功能
- 整合easyopen
- Admin管理平臺,統一管理微服務配置,管理路由管理,微服務上下線
後期規劃
- 接入方管理+秘鑰管理
- 接口權限分配
- SDK
- Spring Cloud Config(Zookeeper)
admin界面預覽
工程說明
運行環境:JDK8,Maven3,Zookeeper
- doc:開發文檔
- sop-registry:註冊中心,eureka實現
- sop-gateway:網關,統一訪問入口,Spring Cloud Zuul實現,可切換成Spring Cloud Gateway
- sop-common:公共模塊,封裝常用功能,包含簽名校驗、錯誤處理等功能
- sop-example:微服務示例
- sop-test:接口調用測試用例
閱讀更多 儒雅程序員 的文章