Eureka 介绍
什么是 Eureka?
Eureka (2018年下半年停更) 是 Netflix 公司提供的一款服務(wù)注冊(cè)中心,Eureka 基于 REST 來(lái)實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn)。
Eureka 也是 Spring Cloud 五大神獸之一,五大神獸分別如下:
注冊(cè)中心——Netflix Eureka
客服端負(fù)載均衡——Netflix Ribbon
斷路器——Netflix Hystrix
服務(wù)網(wǎng)關(guān)——Netflix Zuul
分布式配置——Spring Cloud Config
曾經(jīng),Eureka 是 Spring Cloud 中最重要的核心組件之一,Spring Cloud 中封裝了 Eureka,在 Eureka 的基礎(chǔ)上,優(yōu)化了一些配置,然后提供了可視化的頁(yè)面,可以方便的查看服務(wù)的注冊(cè)情況以及服務(wù)注冊(cè)中心集群的運(yùn)行情況。
Eureka 由兩部分:服務(wù)端和客戶端,服務(wù)端就是注冊(cè)中心,用來(lái)接收其他服務(wù)的注冊(cè),客戶端則是一個(gè) java 客戶端,用來(lái)注冊(cè),并可以實(shí)現(xiàn)負(fù)載均衡等功能。
從圖中,我們可以看出,Eureka 中,有三個(gè)角色:
Eureka Server:注冊(cè)中心
Eureka Provider:服務(wù)提供者
Eureka Consumer:服務(wù)消費(fèi)者
什么是注冊(cè)中心
Eureka 是 Spring Cloud 中的注冊(cè)中心,類似于 Dubbo 中的 Zookeeper。
那么到底什么是注冊(cè)中心,為什么需要注冊(cè)中心?
在傳統(tǒng)的單體應(yīng)用中,所有的業(yè)務(wù)都集中在一個(gè)項(xiàng)目中,當(dāng)用戶從瀏覽器發(fā)起請(qǐng)求時(shí),直接由前端發(fā)送請(qǐng)求給后端,后端調(diào)用業(yè)務(wù)邏輯,給前端請(qǐng)求做出響應(yīng),完成一次調(diào)用。整個(gè)調(diào)用過(guò)程是一條直線,不需要服務(wù)之間的中轉(zhuǎn),所以沒(méi)有必要引入注冊(cè)中心。
隨著公司項(xiàng)目越來(lái)越大,我們會(huì)將系統(tǒng)進(jìn)行拆分,例如一個(gè)電商系統(tǒng),可以拆分為訂單模塊、物流模塊、支付模塊等。這樣,當(dāng)用戶發(fā)起請(qǐng)求時(shí),就需要各個(gè)模塊之間進(jìn)行協(xié)調(diào),這樣不可避免的要進(jìn)行模塊之間的調(diào)用。
模塊之間的調(diào)用也會(huì)變得越來(lái)越復(fù)雜,而且模塊之間還存在強(qiáng)耦合。
為了解決服務(wù)之間的耦合,注冊(cè)中心應(yīng)運(yùn)而生。
總結(jié)
- 上一篇: Redux-persist使用
- 下一篇: TSC 条码打印机 Dll 说明