javascript
SpringCloud之微服务
文章目錄
- 1、微服務(wù)定義
- 2、微服務(wù)優(yōu)缺點(diǎn)
- 1)優(yōu)點(diǎn)
- 4)缺點(diǎn)
- 微服務(wù)技術(shù)棧
1、微服務(wù)定義
通常而言,微服務(wù)是一種架構(gòu)模式,或者說(shuō)是一種架構(gòu)風(fēng)格,提倡將單一的應(yīng)用程序劃分成一組小的服務(wù),每個(gè)服務(wù)運(yùn)行在其獨(dú)立的自己的進(jìn)程中,服務(wù)之間相互協(xié)調(diào),相互配合,為用戶提供最終價(jià)值。服務(wù)之間采用輕量級(jí)的通信機(jī)制相互溝通(通常是基于HTTP的Restful API).每個(gè)服務(wù)都圍繞著具體的業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。另外,盡量避免統(tǒng)一的、集中式的服務(wù)管理機(jī)制,對(duì)具體的一個(gè)服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語(yǔ)言,工具對(duì)其進(jìn)行構(gòu)建,可以有一個(gè)非常輕量級(jí)的集中式管理來(lái)協(xié)調(diào)這些服務(wù),可以使用不同的語(yǔ)言來(lái)編寫服務(wù),也可以使用不同的數(shù)據(jù)存儲(chǔ)。
技術(shù)維度理解:
微服務(wù)化的核心就是將傳統(tǒng)的一站式應(yīng)用,根據(jù)業(yè)務(wù)拆分成一個(gè)一個(gè)的服務(wù),徹底的去解耦,每一個(gè)微服務(wù)提供單個(gè)業(yè)務(wù)功能的服務(wù),一個(gè)服務(wù)做一件事,從技術(shù)角度看就是一種小而獨(dú)立的處理過(guò)程,類似進(jìn)程概念,能夠自行獨(dú)立啟動(dòng)或銷毀,擁有自己獨(dú)立的數(shù)據(jù)庫(kù)。
2、微服務(wù)優(yōu)缺點(diǎn)
1)優(yōu)點(diǎn)
每個(gè)服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解,這樣能聚焦一個(gè)指定的業(yè)務(wù)功能或業(yè)務(wù)需求,開(kāi)發(fā)簡(jiǎn)單,開(kāi)發(fā)效率提高,一個(gè)服務(wù)可能是專一的只干一件事。
微服務(wù)能夠被小團(tuán)隊(duì)單獨(dú)開(kāi)發(fā),
微服務(wù)是松耦合的,是有功能意義的服務(wù),無(wú)論是在開(kāi)發(fā)階段或部署階段都是獨(dú)立的
微服務(wù)能使用不同的開(kāi)發(fā)語(yǔ)言
易于和第三方集成,微服務(wù)允許容易且靈活的方式集成自動(dòng)化部署,通過(guò)持續(xù)集成工具,如Jenkins,
微服務(wù)易于被一個(gè)開(kāi)發(fā)人員理解,修改和維護(hù),這樣小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果,無(wú)需通過(guò)合作才能體現(xiàn)價(jià)值,
微服務(wù)允許你利用融合最新技術(shù)
微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和HTML和CSS或其他界面組件混合,
每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫(kù),也可以有統(tǒng)一數(shù)據(jù)庫(kù)。
4)缺點(diǎn)
開(kāi)發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性
多服務(wù)運(yùn)維難度,隨著服務(wù)增加,運(yùn)維的壓力也在增大
系統(tǒng)部署依賴
服務(wù)間通信成本
數(shù)據(jù)一致性
系統(tǒng)集成測(cè)試
性能監(jiān)控
微服務(wù)技術(shù)棧
服務(wù)治理
服務(wù)注冊(cè)
服務(wù)調(diào)用
服務(wù)負(fù)載均衡
服務(wù)監(jiān)控
總結(jié)
以上是生活随笔為你收集整理的SpringCloud之微服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 9、mybatis自增主键策略
- 下一篇: gradle idea java ssm