什么是微服務(wù)架構(gòu)
微服務(wù)是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格审轮,它的主旨是將一個(gè)原本獨(dú)立的服務(wù)拆分成多個(gè)小型服務(wù),服務(wù)之間基于HTTP的Restful API進(jìn)行通信肄扎。每個(gè)服務(wù)維護(hù)著自身的數(shù)據(jù)存儲(chǔ)拦赠,業(yè)務(wù)開(kāi)發(fā),自動(dòng)化測(cè)試以及獨(dú)立的部署饥伊。
微服務(wù)架構(gòu)與單體架構(gòu)的區(qū)別
在以往的傳統(tǒng)架構(gòu)中象浑,我們通常將需求分為三個(gè)主要部分:數(shù)據(jù)庫(kù),服務(wù)端處理琅豆,前端展現(xiàn)愉豺。在業(yè)務(wù)發(fā)展初期還比較容易。但是隨著企業(yè)的發(fā)展茫因,需要為該項(xiàng)目增加不同的業(yè)務(wù)模塊粒氧,單體應(yīng)用變得越來(lái)越臃腫。往往我們修改了一個(gè)很小的功能會(huì)影響其他功能的運(yùn)行节腐。
為什么選擇spring cloud
spring cloud提供了微服務(wù)的一站式解決方案外盯,它整合了諸多被廣泛實(shí)踐和證明過(guò)的框架作為基礎(chǔ)部件,具有更好的穩(wěn)定性翼雀。spring cloud有極高的社區(qū)活躍度饱苟,具有很強(qiáng)的生命力。
spring cloud簡(jiǎn)介
spring cloud是一個(gè)基于spring boot的微服務(wù)架構(gòu)開(kāi)發(fā)工具狼渊,spring cloud中常見(jiàn)的組件有:
- springcloud config:配置管理工具箱熬,可以用它來(lái)實(shí)現(xiàn)應(yīng)用配置的外部化存儲(chǔ)
- springcloud Netflix:核心組件类垦,在這之中又包含如下的一些很重要的組件:1.Eureka:實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn) 2.Hystrix:容錯(cuò)管理組件,為服務(wù)中的故障提供強(qiáng)大的容錯(cuò)能力 3.Ribbon:客戶(hù)端負(fù)載均衡組件 4.Feign:聲明式服務(wù)調(diào)用組件 5.Zuul:網(wǎng)關(guān)組件城须,提供智能路由蚤认,訪(fǎng)問(wèn)過(guò)濾等功能
- springcloud bus:消息總線(xiàn),用于傳播集群中的狀態(tài)變化或事件以觸發(fā)后續(xù)的處理