• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • SpringCloud之高可用注冊中心Eureka Server集群搭建

    標簽: SpringCloud  微服務  eureka集群  Java

    Spring Cloud的Eureka Server的高可用實際上就是將自己作為服務向其他服注冊中心注冊自己,形成一組互相注冊的服務注冊中心,以實現服務清單的互相同步,達到高可用的效果。接下來介紹下如何搭建一個服務注冊中心集群。
    下圖是文件結構, 非常簡潔,就一個啟動類。不得不說有了spingBoot開發一個新的項目簡單了不少。
    我們需要的maven的依賴:
    <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>

    然后application.yml這個文件可以無視,這個是SpringBoot啟動的默認配置文件,對我們沒有影響,因為在這里我們啟動三個服務注冊中心的指定啟動配置文件分別是application-peer1.yml,application-peer2.yml,application-peer3.yml。

    application-peer1.yml

    spring:
      application:
        name: eureka-server
    
    server:
      port: 1111
    
    eureka:
      instance:
        hostname: peer1
      client:
        service-url:
          defaultZone: http://peer2:1112/eureka/,http://peer3:1113/eureka/

    application-peer2.yml

    spring:
      application:
        name: eureka-server
    
    server:
      port: 1112
    
    eureka:
      instance:
        hostname: peer2
      client:
        service-url:
          defaultZone: http://peer1:1111/eureka/,http://peer3:1113/eureka/
    application-peer3.yml

    spring:
      application:
        name: eureka-server
    
    server:
      port: 1113
    
    eureka:
      instance:
        hostname: peer3
      client:
        service-url:
          defaultZone: http://peer1:1111/eureka/,http://peer2:1112/eureka/


    然后創建一個名為EurekaApplication的啟動類,通過注解@EnableEurekaServer表明這是一個Eureka Server。
    @SpringBootApplication
    @EnableEurekaServer
    public class EurekaApplication {
       public static void main(String[] args) {
          SpringApplication.run(EurekaApplication.class, args);
       }
    }

    然后在idea中創建3個啟動配置文件不同的springBoot的啟動實例。三個實例的啟動類都是EurekaApplication,但是啟動的配置文件不同就可以開啟三個不同的服務,這也是SpringBoot的方便之處。具體配置參考下圖:
    在啟動之前,需要改一下機器的hosts文件,我是用我本機開啟了三個注冊中心集群,所以三個注冊中心的ip都是127.0.0.1,如果在不同的機器上這里可以改成具體對應的ip地址。在windows中找到C:\Windows\System32\drivers\etc目錄下的hosts文件,加入三個注冊中心的信息。linux是通過vim /etc/hosts 。
    然后挨個啟動三個實例:第一個啟動完成后的如果報錯屬于正常情況,因為其他兩臺注冊中心還沒啟動完。
    異常:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。
    等到所有注冊中心都啟動后,打開http://localhost:1111/控制臺查看所有注冊中心集群的情況。可以看到當前有三臺可用的注冊中心存在。恭喜你,已經成功搭建起了一個Eureka Server集群。下圖中的SERVICE-HI是我啟動的兩個服務提供者集群,還有一個服務消費者SERVICE-RIBBON,該如何創建服務提供者和服務消費者,我將在另一篇文章里講到。

    公司這臺可憐的8G內存的筆記本,卡爆

    版權聲明:本文為gkmmg原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/gkmmg/article/details/79852872

    智能推薦

    【SpringCloud】SpringCloud搭建Eureka服務注冊中心

    構建項目 使用idea工具直接創建一個新的SpringBoot項目,在選擇依賴的界面勾選Cloud Discovert -> Eureka Server依賴,創建完成后的pom.xml配置文件內容如下: Eureka Server的配置 添加spring-cloud-starter-netflix-eureka-server依賴后,我們就來看看怎么開啟Eureka Server服務。開啟Eu...

    注冊中心集群,eureka高可用

    今天做了一個簡單的springcloud電商項目,下面是實現注冊中心eureka集群(3個eureka server實例)的部分過程,代碼已經測試通過。 eureka-server的application.yml: eureka clint 的application.yml: 注意,eureka server和eureka client 的defaultZone這一項要完全一致,一個字母都不要不一...

    spring cloud 服務注冊中心eureka高可用集群搭建

    spring cloud 服務注冊中心eureka高可用集群搭建 一,準備工作 本文三臺eureka的地址分別為:本機(htttp://10.25.25.92:8080),遠程服務器1(http://10.25.25.24:8080)遠程服務器2(http://10.25.25.39:8080)。三臺注冊中心準備完畢 二,集群配置 application.yml配置 在上一章中通過下面兩個配置來實...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    猜你喜歡

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    精品国产乱码久久久久久蜜桃不卡