【springcloud學習(dalston.sr1)】Eureka服務端集群的搭建(含源代碼)(二)

該系列項目整體介紹及源代碼請參照前面寫的一篇文章【springcloud學習(dalston.sr1)】項目整體介紹(含源代碼)(一)

這篇文章主要介紹多個eureka服務端的集群環境是如何搭建的。

(一)eureka的簡要說明

Eureka是用來進行服務注冊與發現的。類似于一棟寫字樓,有很多公司入駐,但入駐前需要先在大樓的物業處進行注冊登記。Eureka也分為服務端和客戶端,服務端是提供服務注冊和服務發現,通過訪問服務端,能獲取到一個服務注冊列表。客戶端則需要訪問服務端,以將自己注冊到服務端。類似于寫字樓的物業公司,通常自己不用注冊,但其他入駐的公司,需要在物業處進行注冊,其他公司在物業處,能獲取到注冊登記的公司列表。

(二)eureka服務端集群搭建

(1)新建3個module

這里通過了3個模塊,來模擬eureka服務端集群的搭建。首先在IDEA的springcloud2025項目中新建了3個module,如下圖。

(2)在新建號的module中,比如microservicecloud-eureka-7001模塊中,在POM引入相關依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springcloud2025</artifactId><groupId>com.company</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>microservicecloud-eureka-7001</artifactId><!-- Eureka-server服務端 --><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency></dependencies></project>

(3)主機域名地址映射修改,通過修改路徑C:\Windows\System32\drivers\etc\hosts文件,增加3個域名映射。這樣訪問http://eureka7001.com的效果等同于訪問http://localhost(當然訪問http://eureka7002.com的效果也同樣等同于訪問http://localhost),這里只是在一臺機器上模擬不同域名的主機,所以就這樣處理了下。實際項目場景中應該是不同的主機。

(4)編寫microservicecloud-eureka-7001項目的application.yml文件,如下圖,其中配置了當前項目的端口號為7001,并設置了eureka服務端主機名稱為eureka7001.com(這里另外2個eureka服務的主機名分別是eureka7002.com、eureka7003.com,這里涉及到主機域名地址映射修改,后面會提到)。需要注意的是服務端自己不注冊自己,也不需要檢索服務,所以配置項eureka.client.register-with-eureka和eureka.client.fetch-register的值都為false,由于是集群搭建,也需要提供另外兩個eureka服務端的地址,也即配置eureka.client.service-url.defaultZone=http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/。由于當前服務部署的主機對應域名為eureka7001.com,這里的defaultZone就需要配置成另外兩個http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/,這樣是為了起到集群的作用(如果不做eureka集群,則這里的地址直接填寫為本機地址即可,也即http://localhost:7001/eureka)。

server:port: 7001eureka:instance:hostname: eureka7001.com  #eureka服務端的實例名稱client:register-with-eureka: false #false表示不向注冊中心注冊自己fetch-register: false #false表示自己端就是注冊中心,我的職責就是維護服務實力,并不需要去檢索服務service-url:defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ # http://${eureka.instance.hostname}:${server.port}/eureka/ #設置與erueka server交互的地址查詢服務和注冊服務,都需要依賴于這個地址

(5)在啟動類上加@EnableEurekaServer注解,已啟用eureka服務,并表明當前服務是eureka的服務端。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaServer7001Application {public static void main(String[] args) {SpringApplication.run(EurekaServer7001Application.class, args);}
}

項目結構如下:

(6)經過以上步驟,項目microservicecloud-eureka-7001就配置好了。參照這個項目,同樣新建另外兩個microservicecloud-eureka-7002和microservicecloud-eureka-7003。需要注意的是配置文件信息稍有差別。比如microservicecloud-eureka-7002的配置文件為

server:port: 7002eureka:instance:hostname: eureka7002.com  #eureka服務端的實例名稱,如果沒有做eureka集群,這里直接填localhost即可client:register-with-eureka: false #false表示不向注冊中心注冊自己fetch-register: false #false表示自己端就是注冊中心,我的職責就是維護服務實力,并不需要去檢索服務service-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ #設置與erueka server交互的地址查詢服務和注冊服務,都需要依賴于這個地址

microservicecloud-eureka-7003的yml配置文件為

server:port: 7003eureka:instance:hostname: eureka7003.com  #eureka服務端的實例名稱client:register-with-eureka: false #false表示不向注冊中心注冊自己fetch-register: false #false表示自己端就是注冊中心,我的職責就是維護服務實力,并不需要去檢索服務service-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/ #設置與erueka server交互的地址查詢服務和注冊服務,都需要依賴于這個地址

(7)然后可以啟動項目了,首先啟動microservicecloud-eureka-7001。需要注意的是由于構建的是集群項目,所以這個項目啟動時,另外2個項目還未啟動,所以控制臺可能報如下錯誤,可以暫時忽略。此時再依次啟動另外microservicecloud-eureka-7002項目和microservicecloud-eureka-7003項目(啟動microservicecloud-eureka-7002、microservicecloud-eureka-7003時,由于前面已經啟動了microservicecloud-eureka-7001項目,所以這兩個項目啟動過程中不會報以下錯誤)

3個項目啟動完成后,我們可以在瀏覽器中輸入http://eureka7001.com:7001訪問(這里依賴于前面第3部配置的主機名和地址映射,或者直接輸入http://localhost:7001也能訪問),看到如下頁面,即表示eureka服務啟動正常了。類似的在瀏覽器中輸入http://eureka7002.com:7002和http://eureka7003.com:7003也是類似的效果

(8)通過上述步驟,由3個項目搭建的eureka服務端集群就搭建好了。

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

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

相關文章

互聯網大廠Java求職面試實戰:Spring Boot微服務與數據庫優化詳解

&#x1f4aa;&#x1f3fb; 1. Python基礎專欄&#xff0c;基礎知識一網打盡&#xff0c;9.9元買不了吃虧&#xff0c;買不了上當。 Python從入門到精通 &#x1f601; 2. 畢業設計專欄&#xff0c;畢業季咱們不慌忙&#xff0c;幾百款畢業設計等你選。 ?? 3. Python爬蟲專欄…

事件驅動reactor的原理與實現

fdset 集合&#xff1a;&#xff08;就是說&#xff09; fd_set是一個位圖&#xff08;bitmap&#xff09;結構 每個位代表一個文件描述符 0表示不在集合中&#xff0c;1表示在集合中 fd_set結構&#xff08;簡化&#xff09;&#xff1a; [0][1][2][3][4][5]...[1023] …

一分鐘在Cherry Studio和VSCode集成火山引擎veimagex-mcp

MCP的出現打通了AI模型和外部數據庫、網頁API等資源&#xff0c;成倍提升工作效率。近期火山引擎團隊推出了 MCP Server SDK&#xff1a; veimagex-mcp。本文介紹如何在Cherry Studio 和VSCode平臺集成 veimagex-mcp。 什么是MCP MCP&#xff08;Model Context Protocol&…

掌控隨心 - 服務網格的流量管理藝術 (Istio 實例)

掌控隨心 - 服務網格的流量管理藝術 (Istio 實例) 想象一下,沒有服務網格的時候,我們要實現像“將 1% 的用戶流量導入到新版本應用”、“根據用戶設備類型訪問不同后端”、“模擬下游服務故障”這類高級流量策略,通常需要在代碼、負載均衡器、API 網關等多個地方進行復雜且分…

[ARM][匯編] 01.基礎概念

目錄 1.全局標號 1.1.使用方法 1.1.1.聲明全局標號 1.1.2.定義全局標號 1.1.3.引用全局標號 1.2.全局標號與局部標號的區別 1.3.注意事項 2.局部標號 2.1.使用方法 2.1.1.定義局部標號 2.1.2.跳轉引用 2.2.局部標號與全局標號的對比 2.3.注意事項 3.符號定義偽指…

如何使用遠程桌面控制電腦

目的&#xff1a; 通過路由器使用pc控制臺式機&#xff0c;實現了有線/無線pc與臺式機的雙向遠程桌面控制 最核心就兩條&#xff1a;get ip地址與被控制機器的賬戶與密碼。 現象挺神奇&#xff1a;被控制電腦的電腦桌面處于休眠模式&#xff0c;此時強行喚醒被控電腦會導致中斷…

Hive表JOIN性能問

在處理100TB的Hive表JOIN性能問題時&#xff0c;需采用分層優化策略&#xff0c;結合數據分布特征、存儲格式和計算引擎特性。以下是系統性優化方案&#xff1a; 1. 數據傾斜優化&#xff08;Skew Join&#xff09; 1.1 識別傾斜鍵 方法&#xff1a;統計JOIN鍵的分布頻率&…

MongoDB 的核心概念(文檔、集合、數據庫、BSON)是什么?

MongoDB 是一個面向文檔的數據庫&#xff0c;它的核心概念與傳統的關系型數據庫&#xff08;RDBMS&#xff09;有所不同。以下是它的四個主要核心概念&#xff1a; 文檔 (Document) 定義&#xff1a; 文檔是 MongoDB 中的基本數據單元。它類似于關系型數據庫中的一行記錄&#…

AI智慧公園管理方案:用科技重塑市民的“夜游體驗”

AI智慧公園管理方案&#xff1a;多場景智能巡檢與安全防控 一、背景與痛點分析 夏季夜間&#xff0c;公園成為市民休閑娛樂的核心場所&#xff0c;但管理難度隨之激增&#xff1a; 寵物管理失控&#xff1a;未牽繩寵物進入園區&#xff0c;隨地排泄、驚擾游客&#xff0c;甚…

Spring Cloud Gateway 聚合 Swagger 文檔:一站式API管理解決方案

前言 在微服務架構中&#xff0c;隨著服務數量的增加&#xff0c;API文檔管理變得越來越復雜。每個微服務都有自己的Swagger文檔&#xff0c;開發人員需要記住每個服務的文檔地址&#xff0c;這無疑增加了開發難度。本文將介紹如何使用Spring Cloud Gateway聚合所有微服務的Sw…

尼康VR鏡頭防抖模式NORMAL和ACTIVE的區別(私人筆記)

1. NORMAL 模式&#xff08;常規模式&#xff09; 適用場景&#xff1a;一般手持拍攝&#xff0c;比如人像、靜物、風景或緩慢平移鏡頭&#xff08;如水平追拍&#xff09;等。工作特性&#xff1a; 補償手抖引起的小幅度震動&#xff08;比如手持時自然的不穩&#xff09;&am…

Babylon.js學習之路《四、Babylon.js 中的相機(Camera)與視角控制》

文章目錄 1. 引言&#xff1a;為什么相機是 3D 場景的“眼睛”&#xff1f;1.1 相機的核心作用1.2 常見相機類型概覽 2. 相機基礎參數解析2.1 通用屬性2.2 相機坐標系 3. 詳解常用相機類型3.1 自由相機&#xff08;FreeCamera&#xff09;3.2 弧形旋轉相機&#xff08;ArcRotat…

【Python】普通方法、類方法和靜態方法的區分

Python 中普通方法、類方法和靜態方法的區分 下面我將從多個維度對這三種方法進行詳細對比&#xff0c;并通過示例說明它們的使用場景和區別。 1. 核心區別總結 特性普通方法(實例方法)類方法(classmethod)靜態方法(staticmethod)定義裝飾器無classmethodstaticmethod第一個…

geoserver發布arcgis瓦片地圖服務(最新版本)

第一步&#xff1a;下載geoserver服務&#xff0c;進入bin目錄啟動 需要提前安裝好JDK環境&#xff0c;1.8及以上版本 安裝完成&#xff0c;頁面訪問端口&#xff0c;進入控制臺界面,默認用戶名密碼admin/geoserver 第二步&#xff1a;下載地圖 破解版全能電子地圖下載器&…

Linux服務之lvs集群與dr模式部署

目錄 一.lvs相關概述 1.lvs集群的工作模式 2.lvs調度算法 3.ipvsadm工具 二.DR模式部署 一.lvs相關概述 1.lvs集群的工作模式 lvs-nat&#xff1a;修改請求報文的目標IP,多目標IP的DNAT lvs-dr&#xff1a;操縱封裝新的MAC地址&#xff08;直接路由&#xff09;lvs-tu…

OFCMS代碼審計-freemaker注入sql注入xxexss文件上傳

環境搭建 下載地址&#xff1a;https://gitee.com/oufu/ofcms/repository/archive/V1.1.2?formatzip SSTI模板注入&#xff08;freemaker) FreeMarker模板注入實現遠程命令執行 - Eleven_Liu - 博客園 在admin中找到這個 發現請求的是這個 找到他 <#assign value"f…

一鍵部署NSFW檢測模型:快速識別并過濾敏感圖片內容

以下是對nsfw_detector的簡單介紹&#xff1a; nsfw_detector是一個 NSFW 內容檢測器&#xff0c;支持快速docker私有部署&#xff0c;提供API服務低資源消耗&#xff0c;2GB內存即可運行該模型&#xff0c;多核CPU自動調度加速推理 - 可以識別多種文件類型&#xff1a;圖片、…

【Redis】緩存穿透、緩存雪崩、緩存擊穿

1.緩存穿透 是指客戶端請求的數據在緩存中和數據庫中都不存在&#xff0c;這樣緩存永遠不會生效&#xff0c;導致請求直接穿透緩存到達數據庫&#xff0c;給數據庫帶來壓力的情況。 常見的解決方案有兩種&#xff1a; 緩存空對象&#xff1a;實現簡單&#xff0c;維護方便&am…

【C】初階數據結構15 -- 計數排序與穩定性分析

本文主要講解七大排序算法之外的另一種排序算法 -- 計數排序 目錄 1 計數排序 1&#xff09; 算法思想 2&#xff09; 代碼 3&#xff09; 時間復雜度與空間復雜度分析 &#xff08;1&#xff09; 時間復雜度 &#xff08;2&#xff09; 空間復雜度 4&#xff09; 計…

mysql的一個缺點

最近再移植一個從oracle轉mysql的項目&#xff0c;喜提一個報錯&#xff1a; You cant specify target table A016 for update in FROM clause 對應的程序代碼&#xff1a; public void setCurrent(String setId, String pk, String userId) throws SysException {String[]…