什么是微服務(wù)
譯:
微服務(wù)是一種軟件架構(gòu)的風(fēng)格殃饿,從來都不是一個框架茄唐!微服務(wù)架構(gòu)風(fēng)格是一種將一個單一應(yīng)用程序開發(fā)為一組小型服務(wù)的方法,每個服務(wù)運行在自己的進程中,服務(wù)間通信采用輕量級通信機制(通常用HTTP資源API)张惹。這些服務(wù)圍繞業(yè)務(wù)能力構(gòu)建并且可通過全自動部署機制獨立部署舀锨。這些服務(wù)共用一個最小型的集中式的管理,服務(wù)可用不同的語言開發(fā),使用不同的數(shù)據(jù)存儲技術(shù)。
微服務(wù)特性的總結(jié):
- 每個微服務(wù)可以獨立的允許在自己的進程里面宛逗;
- 一系列獨立運行的微服務(wù)共同構(gòu)建起整個系統(tǒng)坎匿;
- 每個服務(wù)為獨立的業(yè)務(wù)開發(fā),一個微服務(wù)只關(guān)注某個特定的功能雷激,例如訂單管理替蔬,用戶管理,支付管理等屎暇;
- 可以使用不同的語言與數(shù)據(jù)存儲技術(shù)
- 微服務(wù)之間通過輕量的通信機制進行通信承桥,例如通過REST API進行調(diào)用;
- 全自動的部署機制根悼;
微服務(wù)的優(yōu)缺點
優(yōu)點:
- 單個服務(wù)更易于開發(fā)和維護
- 單個微服務(wù)啟動更快
- 局部修改容易部署
- 技術(shù)棧不受限
- 按需伸縮
缺點:
- 運維要求高
- 分布式固有的復(fù)雜性
- 重復(fù)勞動
單體架構(gòu)和微服務(wù)之間的區(qū)別
什么是spring cloud 凶异?
Spring Cloud是一個基千Spring Boot實現(xiàn)的微服務(wù)架構(gòu)開發(fā)工具。它為微服務(wù)架構(gòu)中涉及的配置管理挤巡、服務(wù)治理剩彬、斷路器、智能路由玄柏、微代理襟衰、控制總線、全局鎖粪摘、決策競選瀑晒、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式。Spring Cloud的誕生并不是為了解決微服務(wù)中的某一個問題徘意,而是提供了一套解決微服務(wù)架構(gòu)實施的綜合性解決方案苔悦。
Spring Cloud是一個由各個獨立項目組成的綜合項目,每個獨立項目有著不同的發(fā)布節(jié)奏椎咧,為了管理每個版本的子項目清單玖详,避免Spring Cloud的版本號與其子項目的版本號相混淆把介,沒有采用版本號的方式,而是通過命名的方式蟋座。這些版本的名字采用了倫敦地鐵站的名字拗踢,根據(jù)字母表的順序來對應(yīng)版本時間順序。比如”Angel”是Spring Cloud的第一個發(fā)行版名稱, “Brixton”是Spring Cloud的第二個發(fā)行版名稱向臀。當(dāng)一個版本的Spring Cloud項目的發(fā)布內(nèi)容積累到臨界點或者一個嚴(yán)重bug解決可用后巢墅,就會發(fā)布一個”service releases”版本,簡稱SRX版本券膀,其中X是一個遞增的數(shù)字君纫,所以Brixton.SR5就是Brixton的第5個Release版本。
版本兼容性
- Greenwich builds and works with Spring Boot 2.1.x, and is not expected to work with Spring Boot 1.5.x. (Greenwich 應(yīng)該與spring boot 2.1.x版本的使用)
官網(wǎng)兼容示例:
學(xué)習(xí)版本
- spring boot 2.1.10.RELEASE
- spring cloud Greenwich.SR3
本文參考文章
https://mrbird.cc/Spring-Cloud%20and%20MicroService.html