高內聚指微服務粒度應滿足獨立發布、獨立部署、獨立運行與獨立測試;低耦合指盡量松散
不要有門檻,不涉及第三方的關聯
服務器、數據庫、集群都要有唯一的標識,方便追溯問題,不要兩個服務共用一個標識
監控服務的性能
合理拆分數據庫表
可通過內外部工具執行監控
限制數據訪問和避免服務耦合
將單體結構分解成獨立的多個個體
擴展性要保證性能和效率是不能變的
微服務一定是基于敏捷模型的
功能 | SOA | 微服務 |
組件大小 | 大塊業務邏輯 | 單獨任務或小塊業務邏輯 |
耦合 | 通過松耦合 | 總是松耦合 |
公司架構 | 任何類型 | 小型、專注于功能交叉的團隊 |
管理 | 著重中央管理 | 著重分散管理 |
目標 | 確保應用能夠交互操作 | 執行新功能、快速拓展開發團隊 |
代碼 | 注重重用 | 注重重寫 |
服務分層 | 水平服務 | 垂直服務 |
服務邏輯 | 自上而下 | 自下而上 |
將應用拆分為獨立的微服務,服務之間彼此隔離,通過輕量級的通訊機制進行交互,使得開發時無需關注具體的開發環境。
基于服務的獨立性,服務之間的耦合性降低,無論從功能上,還是架構上,我們都可以進行更為靈活的擴展,而不影響其他服務。
微服務對于訪問量大的服務可以增加服務的部署數量,訪問量小的服務適當的減少部署數量。
一個微服務只會關注一個特定的業務功能,所以它業務清晰、代碼量少。開發和維護單個微服務相當簡單。
單個應用只要有修改,就得重新部署整個應用,微服務解決了這樣的問題。
在微服務架構中,可以結合項目業務及團隊的特點,合理選擇技術棧。
單個微服務代碼量較少,所以啟動會比較快。
主要是負責把外部的流量接入到內部的平臺上,實現負載均衡。
主要涉及的內容包括計算、網絡、存儲、NOC監控、安全、IDC管理等。
網關在微服務體系當中具有非常重要的地位,它主要做反向路由、限流熔斷、安全認證等等的一些跨橫切面的功能。
業務服務層分為聚合層和基礎層。聚合層將內部復雜的微服務,適配成對各種不同用戶體驗友好和統一的API。聚合裁剪適配是聚合層的主要職責。
支持體系涉及的內容包括注冊發現、集中配置、限流容錯、認證授權、日志聚合、監控告警、后臺服務(MQ、Cache、DB、JOB)等。
平臺服務層包括發布系統、集群資源調度、鏡像治理、資源治理、IAM(權限管控)
上午 | 理解微服務架構 | |
1.微服務架構的定義
微服務架構出現的背景 |
2.微服務整體架構
互聯網架構的演進 |
|
下午 | 微服務架構設計 | |
3.微服務架構設計
架構與架構風格 |
4.服務設計
服務的設計原則 |
上午 | 微服務架構相關方案 | |
5.微服務的安全訪問方案
外部訪問身份認證 |
6.微服務的分布式事物方案
分布式事物相關理論 |
|
下午 | 微服務開發與測試 | |
7.微服務開發
微服務項目規范與模版 |
8.微服務測試
測試相關原則 |
|
9.微服務發布與部署
微服務開發與測試環境規劃 |
上午 | 微服務治理 | |
10.微服務治理
IT治理與服務治理 |
11.高可用微服務架構設計之性能評估&擴容篇
微服務架構之服務性能評估目的 |
|
下午 | 使用Spring Cloud實現微服務 | |
12. 使用Spring Cloud實現微服務
SpringBoot與SpringCloud |
上午 | 大型互聯網系統常用架構方案 | |
13.互聯網系統架構
互聯網系統的特點 |
14.互聯網架構設計原則
無狀態原則 |
|
15.高可靠性設計
服務分級 |
||
下午 | 高性能高可用數據庫方案 | |
16.高可用高性能數據庫設計
數據庫架構設計基本概念 |
||
PaaS與云 | ||
17.PaaS平臺與云
云原生PaaS平臺高可用高并發設計實踐 |
||
案例分享 | ||
案例分享 |