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