SpringCloud注冊(cè)中心高可用搭建

之所以進(jìn)行eureka集群的搭建货裹,在于我們平時(shí)的生產(chǎn)環(huán)境中,很難保證單節(jié)點(diǎn)的eureka服務(wù)能提供百分百不間斷的服務(wù)无埃,如果eureka無(wú)響應(yīng)了门粪,整個(gè)項(xiàng)目應(yīng)用都會(huì)出現(xiàn)問(wèn)題喊积,因此要保證eureka隨時(shí)都能提供服務(wù)的情況下,最好的方式就是采用eureka的集群模式玄妈,也就是搭建eureka的高可用乾吻,在eureka的集群模式下髓梅,多個(gè)eureka server之間可以同步注冊(cè)服務(wù),因此绎签,在一個(gè)eureka宕掉的情況下枯饿,仍然可以提供服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)的能力,從而達(dá)到注冊(cè)中心的高可用诡必。


3個(gè)節(jié)點(diǎn)的集群奢方,每個(gè)節(jié)點(diǎn)向其它節(jié)點(diǎn)注冊(cè),這樣只要集群中有一個(gè)節(jié)點(diǎn)正常工作即可



正式開始

一.建立項(xiàng)目

本項(xiàng)目主要還是使用了多模塊進(jìn)行開發(fā)爸舒,包括服務(wù)注冊(cè)中心模塊蟋字,商品服務(wù)模塊和訂單模塊,本篇文章主要講解的是如何搭建eureka的高可用扭勉,所以使用三個(gè)eureka服務(wù)注冊(cè)中心鹊奖,以及product商品服務(wù)模塊進(jìn)行搭建即可。項(xiàng)目目錄如下圖所示:


二.建立服務(wù)注冊(cè)中心

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">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.4.RELEASE</version>

<relativePath/>

<!-- lookup parent from repository -->

</parent>

<groupId>com.yhs</groupId>

<artifactId>eureka3</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>eureka3</name>

<description>Demo project for Spring Boot</description>

<properties>

<java.version>1.8</java.version>

<spring-cloud.version>Greenwich.SR1</spring-cloud.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>${spring-cloud.version}</version>

<type>pom</type>

<scope>import</scope>

</dependency> </dependencies>

</dependencyManagement>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

然后配置三個(gè)eureka的application.yml文件

eureka的文件配置如下:


eureka2的文件配置如下:

eureka3的文件配置如下:

注意:在每個(gè)服務(wù)的主類上加上@EnableEurekaServer注解涂炎,不然springCloud不會(huì)將eureka識(shí)別為服務(wù)注冊(cè)中心忠聚,啟動(dòng)會(huì)報(bào)錯(cuò)

然后啟動(dòng)三臺(tái)eureka訪問(wèn)localhost:8761、8762璧尸、8763即可看到注冊(cè)生效


三.建立服務(wù)消費(fèi)者produce商品服務(wù)

pom文件咒林,由于在之后的邏輯中使用到了mysql數(shù)據(jù)庫(kù)以及l(fā)ombok插件熬拒,所以引入了這兩個(gè)jar包

<?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">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.4.RELEASE</version>

<relativePath/>

<!-- lookup parent from repository -->

</parent>

<groupId>com.yhs</groupId>

<artifactId>product</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>product</name>

<description>Demo project for Spring Boot</description>

<properties>

<java.version>1.8</java.version>

<spring-cloud.version>Greenwich.SR1</spring-cloud.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.15</version>

</dependency>

<!--lombok插件省去寫dto中的get和set方法-->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

</dependency>

</dependencies>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>${spring-cloud.version}</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

配置application.yml文件:


在主類中使用@EnableDiscoveryClient標(biāo)識(shí)為服務(wù)消費(fèi)者爷光。


啟動(dòng)product服務(wù)即可看到已經(jīng)注冊(cè)到eureka服務(wù)注冊(cè)中心上,可以看到已經(jīng)注冊(cè)到注冊(cè)中心澎粟,訪問(wèn)8761蛀序,8762,8763端口都可看到服務(wù)已經(jīng)注冊(cè)上:

代碼git地址:https://github.com/yhsStarry/StudySpringCloud

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末活烙,一起剝皮案震驚了整個(gè)濱河市徐裸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啸盏,老刑警劉巖重贺,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異回懦,居然都是意外死亡气笙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門怯晕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)潜圃,“玉大人,你說(shuō)我怎么就攤上這事舟茶√菲冢” “怎么了堵第?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)隧出。 經(jīng)常有香客問(wèn)我踏志,道長(zhǎng),這世上最難降的妖魔是什么鸳劳? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任狰贯,我火速辦了婚禮,結(jié)果婚禮上赏廓,老公的妹妹穿的比我還像新娘涵紊。我一直安慰自己,他們只是感情好幔摸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布摸柄。 她就那樣靜靜地躺著,像睡著了一般既忆。 火紅的嫁衣襯著肌膚如雪驱负。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天患雇,我揣著相機(jī)與錄音跃脊,去河邊找鬼。 笑死苛吱,一個(gè)胖子當(dāng)著我的面吹牛酪术,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翠储,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绘雁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了援所?” 一聲冷哼從身側(cè)響起庐舟,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎住拭,沒(méi)想到半個(gè)月后挪略,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滔岳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年杠娱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澈蟆。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墨辛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出趴俘,到底是詐尸還是另有隱情睹簇,我是刑警寧澤奏赘,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站太惠,受9級(jí)特大地震影響磨淌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凿渊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一梁只、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧埃脏,春花似錦搪锣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至堵幽,卻和暖如春狗超,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背朴下。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工努咐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人殴胧。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓渗稍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親溃肪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子免胃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354