注冊中心 —— SpringCloud Netflix Eureka

Eureka 簡介

Eureka 是一個基于 REST 的服務發現組件,SpringCloud 將它集成在其子項目 spring-cloud-netflix 中,以實現 SpringCloud 的服務注冊與發現,同時提供了負載均衡、故障轉移等能力,目前 Eureka2.0 已經不再維護,故不推薦使用

Eureka 有兩種角色組件:

  • Eureka Server:服務注冊中心組件,提供了服務的注冊與發現的接口
  • Eureka Client:各種微服務,把自身的服務實例注冊到 Eureka Server 中,也可通過 Eureka Server 獲取服務列表,消費服務

微服務客戶端在 Eureka 上注冊,然后每隔 30 秒發送心跳來更新它們的租約。如果客戶端不能多次續訂租約,就將在大約 90 秒內從服務器注冊表中剔除。注冊信息和更新被復制到集群中的所有 Eureka 節點,來自任何區域的客戶端都可以查找注冊表信息(每30秒發生一次)來定位它們的服務并進行遠程調用


搭建 Eureka 注冊中心

創建 eureka-server 項目,引入依賴,本項目基于 SpringBoot 2.3.1,SpringCloud Hoxton.SR12

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>...
<dependencies>

在啟動類上添加 @EnaleEurekaServer 注解,啟用 Euerka 注冊中心功能

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}
}

在配置文件添加 Eureka 服務端的配置

server:port: 8001 # 指定運行端口spring:application:name: eureka-server # 指定服務名稱eureka:instance:hostname: localhost # 指定主機名稱client:fetch-registry: false # 指定能否從注冊中心獲取服務register-with-eureka: false # 指定是否將服務注冊到注冊中心

運行 main 方法啟動服務,在瀏覽器中訪問 http://localhost:8001/ 便可以看到 Eureka 注冊中心的界面

創建 eureka-client 項目,引入依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

在啟動類上添加 @EnableDiscoveryClient 注解,表明是一個 Eureka 客戶端

@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {public static void main(String[] args) {SpringApplication.run(EurekaClientApplication.class, args);}
}

在配置文件添加 Eureka 客戶端的配置

server:port: 8101 # 指定運行端口spring:application:name: eureka-client # 指定服務名稱eureka:client:fetch-registry: true # 指定能否從注冊中心獲取服務register-with-eureka: true # 指定是否將服務注冊到注冊中心service-url:defaultZone: http://localhost:8001/eureka

運行 main 方法,啟動 eureka-client 項目,刷新 http://localhost:8001/ 頁面,即可看到 cureka-client 已經注入 Eurcka 服務


搭建 Eureka 注冊中心集群

由于所有服務都會注冊到注冊中心,服務之間的調用都是通過從注冊中心獲取服務列表來調用的。注冊中心一旦宕機,所有服務調用都會出現問題,因此需要多個注冊中心組成集群來提供服務

創建兩個 eureka-server 項目,eureka-server-1 項目的配置文件如下:

server:port: 8002 # 指定運行端口spring:application:name: eureka-server-1 # 指定服務名稱eureka:instance:hostname: localhost # 指定主機名稱client:fetch-registry: true # 指定能否從注冊中心獲取服務register-with-eureka: true # 指定是否將服務注冊到注冊中心service-url:defaultZone: http://localhost:8003/eureka/

eureka-server-2 項目的配置文件如下:

server:port: 8003 # 指定運行端口spring:application:name: eureka-server-1 # 指定服務名稱eureka:instance:hostname: localhost # 指定主機名稱client:fetch-registry: true # 指定能否從注冊中心獲取服務register-with-eureka: true # 指定是否將服務注冊到注冊中心service-url:defaultZone: http://localhost:8002/eureka/

通過兩個注冊中心互相注冊,搭建注冊中心的雙節點集群。分別啟動項目,查看 http://localhost:8001/http://localhost:8002/,可以看到兩個注冊中心已經分別注冊了


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39812.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39812.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39812.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于YOLOv8模型和Caltech數據集的行人檢測系統(PyTorch+Pyside6+YOLOv8模型)

摘要 基于YOLOv8模型和Caltech數據集的行人檢測系統可用于日常生活中檢測與定位行人&#xff0c;利用深度學習算法可實現圖片、視頻、攝像頭等方式的行人目標檢測&#xff0c;另外本系統還支持圖片、視頻等格式的結果可視化與結果導出。本系統采用YOLOv8目標檢測算法訓練數據集…

C#使用FileInfo和DirectoryInfo類來執行文件和文件夾操作

System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夾的類&#xff0c;它們提供了許多有用的方法和屬性來管理文件和文件夾。 System.IO.FileInfo&#xff1a; FileInfo 類用于操作單個文件的信息和內容。以下是一些常用的方法和屬性&#xff1a; Exi…

頻繁full gc 調參

Error message from spark is:java.lang.Exception: application_1678793738534_17900289 Driver Disassociated [akka.tcp://sparkDriverClient11.71.243.117:37931] <- [akka.tcp://sparkYarnSQLAM9.10.130.149:38513] disassociated! 日志里頻繁full gc &#xff0c;可以…

Python Opencv實踐 - 圖像金字塔

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#圖像上采樣 #cv.pyrUp(src, dstNone, dstsizeNone, borderTypeNone) #參考資料&#xff1a;https://blo…

js實現將文本轉PDF格式并下載到本地

html里面需要引入jspdf.umd.min.js和FileSaver.js jspdf.umd.min.js&#xff1a;https://www.npmjs.com/package/jspdf FileSaver.js&#xff1a;https://download.csdn.net/download/weixin_45791806/87272893?spm1001.2014.3001.5503 同時項目的根部目錄也需要引入SimHei.tt…

單片機之從C語言基礎到專家編程 - 4 C語言基礎 - 4.7 進制及其轉換

進制是數字的進位計數制&#xff0c;R進制也就是逢R進一。計算機只能識別二進制&#xff0c;也就是逢二進一&#xff0c;例如&#xff0c;11在十進制中為2&#xff0c;在二進制中逢2進1&#xff0c;則為10。以下為進制表示表。 二進制三進制八進制九進制十進制十六進制0000001…

【LeetCode 算法】Find the Losers of the Circular Game 找出轉圈游戲輸家

文章目錄 Find the Losers of the Circular Game 找出轉圈游戲輸家問題描述&#xff1a;分析代碼模擬 Tag Find the Losers of the Circular Game 找出轉圈游戲輸家 問題描述&#xff1a; n 個朋友在玩游戲。這些朋友坐成一個圈&#xff0c;按 順時針方向 從 1 到 n 編號。從…

AD域控制器將輔域控制器角色提升為主域控制器

背景 域控服務器遷移&#xff0c;已將新機器添加為該域的輔域控制器。 主域控制器&#xff1a;test-dc-01 輔域控制器&#xff1a;test-dc-02 需求將主輔域的角色進行互換&#xff0c;test-dc-01更換為輔域&#xff0c;test-dc-02更換為主域。 操作步驟 方法1 命令行修改AD域…

Datawhale Django入門組隊學習Task02

Task02 首先啟動虛擬環境&#xff08;復習一下之前的&#xff09; 先退出conda的&#xff0c; conda deactivate然后cd到我的venv下面 &#xff0c;然后cd 到 scripts&#xff0c;再 activate &#xff08;powershell里面&#xff09; 創建admin管理員 首先cd到項目路徑下&a…

mySQL 視圖 VIEW

簡化版的創建視圖 create view 視圖名 as select col ...coln from 表create view 視圖名&#xff08;依次別名&#xff09; as select col ...coln from 表create view 視圖名 as select col “別名1”&#xff0c;。。。col "別名n" from 表show tab…

Flink的常用算子以及實例

1.map 特性&#xff1a;接收一個數據&#xff0c;經過處理之后&#xff0c;就返回一個數據 1.1. 源碼分析 我們來看看map的源碼 map需要接收一個MapFunction<T,R>的對象&#xff0c;其中泛型T表示傳入的數據類型&#xff0c;R表示經過處理之后輸出的數據類型我們繼續往…

計算機提示vcruntime140_1.dll丟失的解決方法

在使用Windows操作系統時&#xff0c;有時候我們可能會遇到一些應用程序無法正常運行的問題&#xff0c;出現錯誤提示&#xff0c;其中之一可能就是缺少或損壞了vcruntime140_1.dll文件。在遇到這種情況時&#xff0c;我們可以嘗試修復vcruntime140_1.dll文件來解決問題。 先科…

后端 springboot 給 vue 提供參數

前端 /** 發起新增或修改的請求 */requestAddOrEdit(formData) {debuggerif(formData.id undefined) {formData.id }getAction(/material/getNameModelStandard, {standard: this.model.standard,name: this.model.name,model: this.model.model}).then((res) > {if (res …

《零基礎7天入門Arduino物聯網-06》程序基礎-編程語言是什么

配套視頻課程&#xff1a;《零基礎學Arduino物聯網&#xff0c;入門到進階》 配套課件資料獲取&#xff1a;微聯實驗室 配套學習套件購買&#xff1a;淘寶搜索店鋪【微聯實驗室】 程序基礎-編程語言是什么 程序是什么 程序設計可以理解為是用計算機語言創造出一系列指令的過程…

Shell 基本運算符

Shell 基本運算符 Shell 和其他編程語言一樣&#xff0c;支持多種運算符&#xff0c;包括&#xff1a; 算數運算符關系運算符布爾運算符字符串運算符文件測試運算符 原生bash不支持簡單的數學運算&#xff0c;但是可以通過其他命令來實現&#xff0c;例如 awk 和 expr&#…

HuggingFace開源的自然語言處理AI工具平臺

HuggingFace是一個開源的自然語言處理AI工具平臺&#xff0c;它為NLP的開發者和研究者提供了一個簡單、快速、高效、可靠的解決方案&#xff0c;讓NLP變得更加簡單、快速、高效、可靠。 Hugging Face平臺主要包括以下幾個部分&#xff1a; Transformers&#xff1a;一個提供了…

期權定價模型系列【5】—ETF期權數據

1.前言 對期權定價模型進行研究時&#xff0c;往往需要匹配的實際數據&#xff0c;國內上市時間超過兩年、主流的ETF期權包括華夏上證50ETF期權、滬深300ETF期權等&#xff0c;其對應的標的資產分別為華夏上證50ETF、華泰柏瑞滬深300ETF、嘉實滬深300ETF。 2.上證50ETF期權合約…

淺析基于視頻匯聚與AI智能分析的新零售方案設計

一、行業背景 近年來&#xff0c;隨著新零售概念的提出&#xff0c;國內外各大企業紛紛布局智慧零售領域。從無人便利店、智能售貨機&#xff0c;到線上線下融合的電商平臺&#xff0c;再到通過大數據分析實現精準推送的個性化營銷&#xff0c;智慧零售的觸角已經深入各個零售…

數組常用方法總結

數組常用方法總結 一.獲取數組長度1.1 使用length 二.數組轉字符串2.1 Arrays是什么2.2 使用toString() 三. 數組拷貝3.1 使用 copyOf()3.2 copyOfRange() 四.數組排序4.1使用 sort() 五. 數組逆序六. 判斷兩個數組是否相等6.1 使用equals() 一.獲取數組長度 1.1 使用length p…