(1).微服務(wù)是什么微服務(wù)化的核心就是將傳統(tǒng)的一站式應(yīng)用,根據(jù)業(yè)務(wù)拆分成一個(gè)一個(gè)的服務(wù),徹底地去耦合,每一個(gè)微服務(wù)提供單個(gè)業(yè)務(wù)功能的服務(wù),一個(gè)服務(wù)做一件事,從技術(shù)角度看就是一種小而獨(dú)立的處理過程,類似進(jìn)程概念,能夠自行單獨(dú)啟動(dòng)或銷毀,擁有自己獨(dú)立的數(shù)據(jù)庫。強(qiáng)調(diào)的是服務(wù)的大小,它關(guān)注的是某一個(gè)點(diǎn),是具體解決某一個(gè)問題/提供落地對應(yīng)服務(wù)的一個(gè)服務(wù)應(yīng)用,狹意的看,可以看作Eclipse里面的一個(gè)個(gè)微服務(wù)工程/或者M(jìn)odule。 (2).微服務(wù)架構(gòu) 微服務(wù)架構(gòu)是?種架構(gòu)模式,它提倡將單?應(yīng)?程序劃分成?組?的服務(wù),服務(wù)之間互相協(xié)調(diào)、互相配合,為?戶提供最終價(jià)值。每個(gè)服務(wù)運(yùn)?在其獨(dú)?的進(jìn)程中,服務(wù)與服務(wù)間采?輕量級的通信機(jī)制互相協(xié)作(通常是基于HTTP協(xié)議的RESTful API)。每個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)?構(gòu)建,并且能夠被獨(dú)?的部署到?產(chǎn)環(huán)境、類?產(chǎn)環(huán)境等。另外,應(yīng)當(dāng)盡量避免統(tǒng)?的、集中式的服務(wù)管理機(jī)制,對具體的?個(gè)服務(wù)??,應(yīng)根據(jù)業(yè)務(wù)上下?,選擇合適的語?、?具對其進(jìn)?構(gòu)建。 (3).微服務(wù)優(yōu)缺點(diǎn)[1].優(yōu)點(diǎn)每個(gè)服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解這樣能聚焦一個(gè)指定的業(yè)務(wù)功能或業(yè)務(wù)需求 開發(fā)簡單、開發(fā)效率提高,一個(gè)服務(wù)可能就是專一的只干一件事。 微服務(wù)能夠被小團(tuán)隊(duì)單獨(dú)開發(fā),這個(gè)小團(tuán)隊(duì)是2到5人的開發(fā)人員組成。 微服務(wù)是松耦合的,是有功能意義的服務(wù),無論是在開發(fā)階段或部署階段都是獨(dú)立的。 微服務(wù)能使用不同的語言開發(fā)。 易于和第三方集成,微服務(wù)允許容易且靈活的方式集成自動(dòng)部署,通過持續(xù)集成工具,如Jenkins, Hudson, bamboo 。 微服務(wù)易于被一個(gè)開發(fā)人員理解,修改和維護(hù),這樣小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果。無需通過合作才能體現(xiàn)價(jià)值。 微服務(wù)允許你利用融合最新技術(shù)。 微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和HTML,CSS 或其他界面組件混合。 每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫。也可以有統(tǒng)一數(shù)據(jù)庫。 [2].缺點(diǎn)開發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性 多服務(wù)運(yùn)維難度,隨著服務(wù)的增加,運(yùn)維的壓力也在增大 系統(tǒng)部署依賴 服務(wù)間通信成本 數(shù)據(jù)一致性 系統(tǒng)集成測試 性能監(jiān)控 (4).微服務(wù)技術(shù)棧 (5).Spring Cloud微服務(wù)架構(gòu)使用Spring Cloud作為微服務(wù)架構(gòu)的原因; 參考文檔:https://www./ |
|