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