一,傳統應用和微服務應用對比
傳統應用帶來的問題
- 單一業務開發的迭代問題
- 擴容困難
- 部署回滾困難
微服務概述
- 微服務是一種將業務系統進一步拆分的架構風格
- 微服務強調每一個業務都獨立運行
- 每個單一服務都應該使用更輕量級的機制保持通信
- 服務不強調環境,可以不同語言或數據源
微服務種類
- Dubbo
- Spring Cloud
- Zero ICE
二,環境構建-基於Guns+SpringBoot+Dubbo構建項目
注:Guns基於SpringBoot 2,致力於做更簡潔的後臺管理系統,完美整合springmvc + shiro + mybatis-plus + beetl!Guns項目代碼簡潔,註釋豐富,上手容易,同時Guns包含許多基礎模塊(用戶管理,角色管理,部門管理,字典管理等10個模塊),可以直接作爲一個後臺管理系統的腳手架!(2,另寫一篇博文概述)
基於springboot+Dubbo環境配置和基於spring+Dubbo環境配置(3,另寫一篇博文概述)
微服務基本概念
- Provider:服務提供者,提供服務實現
- Consumer:服務調用者,調用Provider提供的服務實現
- 同一個服務可以既是Provider,又是Consumer
- Registry:服務註冊與發現的註冊中心,通常實用Zookeeper(4,另寫一篇博文概述)
- Monitor:統計服務的調用次數與調用的時間的控制中心
- Container:服務運行容器
三,業務基礎環境構建-API網關
注:項目實現業務接口抽離,API網關變形應用
API網關
- API網關類似於設計模式中的Facade模式
- API網關一般都是微服務系統中的門面
- API網關是微服務的重要主成部分
API網關常見的作用
- 身份驗證和安全
- 審查和監測
- 動態路由
- 壓力測試
- 負載均衡
- 靜態相應處理
(構建guns-gateway,抽取業務API構建guns-api)