Spring Cloud(F版)搭建高可用服務注冊中心

上一篇文章【Spring Cloud搭建注冊中心】成功搭建了一個Eureka Server服務注冊中心,不過相信細心的朋友都會發現,這個服務注冊中心是一個單節點服務注冊中心,萬一發生故障或者服務器宕機,那所有的服務可就不能使用了,這個在生產環境了是不允許的。

Eureka Server其實設計早就考慮到了高可用性,Eureka Server可以將自己作為服務注冊到其他服務注冊中心,這樣可以互相注冊,以實現服務清單的同步,達到高可用的效果。

——————————————————————————————————————————————————————

添加配置文件

在我們上一篇文章中,搭建的eureka-server-test項目中添加兩個配置文件,aplication-peer1.properties和aplication-peer2.properties,詳細配置文件內容如下:

#端口號
server.port=8081
spring.profiles=peer1
eureka.instance.hostname=peer1
#向注冊中心注冊服務
eureka.client.registerWithEureka=false
# 檢索服務
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://peer2:8082/eureka/
#在Eureka服務器獲取不到集群里對等服務器上的實例時,需要等待的時間
server.waitTimeInMsWhenSyncEmpty=0
#自我保護模式
server.enableSelfPreservation=false
#端口號
server.port=8082
spring.profiles=peer2
eureka.instance.hostname=peer2
#向注冊中心注冊服務
eureka.client.registerWithEureka=false
# 檢索服務
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://peer1:8081/eureka/
#在Eureka服務器獲取不到集群里對等服務器上的實例時,需要等待的時間
server.waitTimeInMsWhenSyncEmpty=0
#自我保護模式
server.enableSelfPreservation=false

在peer1配置文件中,serviceUrl指向peer2,而peer2配置文件中,serviceUrl指向peer1,這樣就做到了相互注冊。這里還需要注意在本地測試的時候,我們需要修改host文件(C:\Windows\System32\drivers\etc),添加以下內容:

127.0.0.1 peer1
127.0.0.1 peer2

生成jar包

使用IDEA進行Maven Intall,【 IntelliJ IDEA 社區版 Maven Install 和Maven clean】
在這里插入圖片描述

啟動兩個注冊服務中心

這里我們不使用IDEA進行項目啟動,而是直接通過命令來啟動。

java -jar eureka-server-test-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1  
java -jar eureka-server-test-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

在這里插入圖片描述
在這里插入圖片描述
啟動成功之后,在瀏覽器中進行訪問,這時候在8081的DS Replicas中可以看到peer2節點,在8082的DS Replicas中可以看到peer1節點,這樣我們雙節點的服務注冊中心就搭建好了。

啟動服務提供者

依然是上一篇文章中創建的eureka-client-test項目,修改提供者的配置文件:

server.port=9081
spring.application.name=client-demo
eureka.client.serviceUrl.defaultZone=http://peer1:8081/eureka/,http://peer2:8082/eureka/

此處兩個服務注冊中的地址都添加上,以","分隔。
在這里插入圖片描述
在這里插入圖片描述

然后分別訪問http://localhost:8081/ 和 http://localhost:8082/ 可以看到提供者已經注冊到兩個服務注冊中心了。

到這里,一個高可用的服務注冊中心集群就搭建完成了。

轉載于:https://www.cnblogs.com/clarezhou/p/11078759.html

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

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

相關文章

Python(60)_閉包

1 、閉包的概念 #-*-coding:utf-8-*- 1、閉包:內部函數調用外部函數的變量def outer():a 1def inner():print(a)print(inner.__closure__) outer() print(outer.__closure__) 2 閉包的使用 #-*-coding:utf-8-*- 1、閉包:內部函數調用外部函數的變量 …

PHP從零開始--錯誤處理函數

一、錯誤處理 1.1錯誤種類 1.1.1Notices 比如沒有定義變量確使用了會報notice錯誤,只是提醒注意,不影響后續代碼執行 1.1.2Warnings 這是警告錯誤,比如include引入一個并不存在的文件,不影響后續代碼執行 1.1.3Fatal Erro…

第四單元博客總結——暨OO課程總結

第四單元博客總結——暨OO課程總結 第四單元架構設計 第一次UML作業 簡單陳述 第一次作業較為簡單,只需要實現查詢功能,并在查詢的同時考慮到性能問題,即我簡單的將每一次查詢的結果以及遞歸的上層結果都存儲下來,使用一個Boolean…

兩列布局:6種方法

面試過程中總會文檔兩列布局&#xff0c;左邊等寬&#xff0c;右邊自適應幾種方法&#xff1f;以下提供6種為君解憂 <div id"wrap"><div id"left"></div><div id"right"></div> </div>需求就是左側定寬&…

PHP從零開始--數據庫

文章目錄一、 數據庫簡介1.1概念1.2命令行操作1.3連接數據庫1.4配置環境變量二、 數據庫的相關操作2.1顯示所有倉庫2.2創建倉庫2.3刪除倉庫2.4切換倉庫三、 數據表的相關操作3.1概念3.2顯示所有的數據表3.3創建數據表3.2修改字段名3.3查看表結構3.4添加字段3.5刪除字段3.6更改數…

常用SQL語句

將記錄的某一字段值設置為空&#xff08;null&#xff09;UPDATE 表名 SET 字段名NULL WHERE 條件字段名123; 更新整列為某個值UPDATE 表名 SET 字段名NULL 轉載于:https://www.cnblogs.com/zhcBlog/p/10254066.html

如何下載js類庫

https://bower.io/ 這個已經淘汰 https://learn.jquery.com/jquery-ui/environments/bower/ Web sites are made of lots of things — frameworks, libraries, assets, and utilities. Bower manages all these things for you. Keeping track of all these packages and mak…

Python 常用系統模塊整理

Python中的常用的系統模塊中部分函數等的整理 random: 隨機數sys: 系統相關os: 系統相關的subprocess: 執行新的進程multiprocessing: 進程相關threading: 線程相關pickle: 將對象轉換成二進制文件time: 時間datetime: 基本的日期和時間類型timeit: 準確測量小段代碼的執行時間…

PHP從零開始--字段修飾符數據操作SQL語言

文章目錄一、 字段修飾符1.1主鍵1.2自動增長1.3非空1.4默認值1.5外鍵二、 對數據的操作2.1增加數據2.2刪除數據2.3更新數據2.4查詢數據2.4.1查詢所有的數據2.4.2查詢指定字段2.4.3去除重復字段2.4.4where表達式詳解2.4.5分組查詢2.4.6排序三、 SQL語言3.1DML3.2DDL3.3DCL一、 字…

scrapy爬蟲框架windows下的安裝問題

windows操作系統python版本是3.6.0通過Anaconda命令conda install scrapy安裝scrapy,安裝過程中沒有問題。然后在命令行輸入命令準備新建項目時&#xff0c;輸入 scrapy startproject firstscrapy時出現了from cryptography.hazmat.bindings._openssl import ffi, libImportErr…

charles使用說明(基于mac)

1. Charles簡介 1.1 Charles 需要java的運行環境支持&#xff0c;支持Windows、Mac&#xff1b;Fiddler不支持Mac。故Charles是在Mac下常用的網絡封包截取工具。 1.2 Charles原理&#xff1a;通過將自己設置成系統的網絡訪問代理服務器&#xff0c;使得所有的網絡訪問請求都通過…

看完就懂的連表查詢

文章目錄一、表與表之間的關系1.1一對一1.2一對多1.3多對多二、 連表查詢2.1概念2.2笛卡爾積2.3內連接2.4外連接2.4.1左外連接2.4.2右外連接2.4.3全連接2.4.4navicat導入導成sql語句2.4.5練習三、 子查詢3.1概念3.2練習3.2.1查詢工資最高的員工所有信息3.2.2查詢工資比7654工資…

jpa

Transactionalpublic void testPerson() {try {Person person1 personDao.findById(1);person1.setAddress("天津");} catch (Exception e) {e.printStackTrace();}} service就這樣一個方法&#xff0c;數據庫中數據也會進行更新 將查詢出來的數據對象賦值,然后不執…

影視感悟專題---1、B站-魔獸世界代理及其它亂七八糟

影視感悟專題---1、B站-魔獸世界代理及其它亂七八糟 一、總結 一句話總結&#xff1a; 看過的東西都可以學下&#xff0c;這樣既可以學習那些東西&#xff0c;都是對自己生活學習有幫助的&#xff0c;還可以彌補自己每天學的東西的不夠 1、《美麗心靈》中的博弈論共贏理論指的啥…

三分鐘掌握PHP操作數據庫

這里寫自定義目錄標題一、 操作數據庫&#xff08;mysql&#xff09;的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具二、 表單傳值2.1文本框和文本域傳值2.2單選框傳值2.4下拉菜單傳值三、 php連接數據庫3.1連接方式介紹3.2mysqli基礎步驟3.2.1創建連接3.2.2選…

go語言之進階篇主協程先退出導致子協程沒來得及調用

1、主協程先退出導致子協程沒來得及調用 示例&#xff1a; package mainimport ("fmt""time" )//主協程退出了&#xff0c;其它子協程也要跟著退出 func main() {go func() {i : 0for {ifmt.Println("子協程 i ", i)time.Sleep(time.Second)}}(…

Actor模型(分布式編程)

Actor的目的是為了解決分布式編程中的一系列問題。所有消息都是異步交付的&#xff0c;因此將消息發送方與接收方分開&#xff0c;正是由于這種分離&#xff0c;導致actor系統具有內在的并發性&#xff1a;可以不受限制地并行執行任何擁有輸入消息的 actor。用Actor寫的程序可以…

看完就會的文件編程

文章目錄文件編程1.1文件操作函數1.1.1file()函數1.1.2fopen fgets fclose1.2.1讀取模式1.2.2寫入內容&#xff08;開頭&#xff09;1.2.3寫入內容&#xff08;追加&#xff09;1.1.3file_get_contents1.1.4文件路徑相關函數1.1.5file_exists1.1.6feof1.1.7copy()1.1.8set_incl…

Redis主從同步

主從同步原理 1. 從服務器向主服務器發送 SYNC 命令。2. 接到 SYNC 命令的主服務器會調用BGSAVE 命令&#xff0c;創建一個 RDB 文件&#xff0c;并使用緩沖區記錄接下來執行的所有寫命令。3. 當主服務器執行完 BGSAVE 命令時&#xff0c;它會向從服務器發送 RDB 文件&#xff…

BigDecimal轉String,int,double及簡單操作運算、方法

---恢復內容開始---1.字符型數據&#xff1a;char\varchar\text這幾種數據類型都是用來裝字符串的char 固定長度存儲數據varcahr 按變長存儲數據text 當你需要存儲非常大量的字符串時使用nchar、nvarchar、ntext這幾個也是存儲字符串的&#xff0c;與上面的對應相同。唯一不同的…