springcloud-eureka高可用集羣搭建

一 前言

eureka做爲註冊中心,其充當着服務註冊與發現功能,加載負載均衡;若在項目運行中eureka掛了,那麼整個服務總體都會暫停,因此爲服務運行的安全性,有必要搭建eureka集羣;當其中一個eureka節點掛了,咱們還有另外的節點可用;本篇文章的核心是如何在idea上運行eureka集羣,和項目部署;需注意的jdk版本是1.8,高於jdk1.8打包部署會出問題,須要引入其餘依賴;html

二 eureka-server配置文件改造

以前的配置文件以下,這是單個eureka-server的配置,並不能知足於咱們實際項目需求,咱們要將其改形成高可用的集羣節點模式;java

server:
  port: 10086

eureka:
  instance:
    hostname: localhost
  client:
    # 做爲server,表示禁止向本身註冊
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

改造配置文件以下,以前的文章中咱們瞭解了eureka的peer to peer 交流機制,咱們如今就根據這個原理搭建高可用的eureka集羣,在配置文件中能夠看見知識追尋者配置了3個peer(peer1,peer2,peer3); 它們的端口分別是10081,10082,10083; peer1,分別向 peer2,peer3註冊,peer2則向 peer1,peer3註冊,peer3同理;這樣就構成了eureka簡單的3個節點集羣;spring

spring:
  application:
    name: eureka-server-cluster
---
spring:
  profiles: peer1
server:
  port: 10081
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      # 向peer2 peer3節點註冊本身
      defaultZone: http://peer2:10082/eureka,http://peer3:10083/eureka

---
spring:
  profiles: peer2
server:
  port: 10082
eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      # 向peer1 pee3節點註冊本身
      defaultZone: http://peer1:10081/eureka,http://peer3:10083/eureka

---
spring:
  profiles: peer3
server:
  port: 10083
eureka:
  instance:
    hostname: peer3
  client:
    service-url:
      # 向peer1 peer2節點註冊本身
      defaultZone: http://peer1:10081/eureka,http://peer2:10082/eureka

三 eureka-client配置文件改造

在以前的基礎上多添加了註冊server節點 peer2,peer3瀏覽器

server:
  port: 8090

spring:
  application:
    name: eureka-client # 應用名稱

eureka:
  client:
    service-url:
      # 服務註冊地址
      defaultZone: http://peer1:10081/eureka/,http://peer2:10082/eureka/,http://peer3:10083/eureka/

四 host文件修改

修改host文件目的是peer對應ip地址,實際項目中 每一個peer節點都是一個ip地址;安全

192.168.0.101 peer1
192.168.0.101 peer2
192.168.0.101 peer3

五 複製啓動配置

複製配置以下:點擊 cpoy configuration 選項; 在這裏插入圖片描述app

進入編輯狀態,修改 name 爲 EurekaServer(1), 激活的配置文件選項 填 peer1;以此類推,咱們複製三個實例; 分別是 EurekaServer(1),EurekaServer(2),EurekaServer(3);分別激活配置 peer2,peer2,peer3; 在這裏插入圖片描述負載均衡

六 啓動 eureka-server

分別啓動三個配置實例,圖以下;ide

在這裏插入圖片描述 瀏覽器輸入 http://localhost:10083/ 或者 http://localhost:10082/ 或者 http://localhost:10081/;結果以下,知識追尋者在瀏覽器輸入的 peer3地址,那麼 對應的複製的Node 是 peer2,peer1;server有三個;spring-boot

在這裏插入圖片描述

七 啓動 eureka-client

啓動eureka client 圖以下 在這裏插入圖片描述 刷新瀏覽器界面,能夠看見 client 已經註冊到 server;fetch

在這裏插入圖片描述

八 打包部署

進入 eureka-server 工程目錄 執行 打包命令 mvn clean package

在這裏插入圖片描述

打開三個命令行分別執行對應的命令,一個cmd一條;

java -jar eureka-server-1.0.0-SNAPSHOT.jar --spring.profiles.active=peer1 
java -jar eureka-server-1.0.0-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar eureka-server-1.0.0-SNAPSHOT.jar --spring.profiles.active=peer3

pee3 以下 在這裏插入圖片描述

瀏覽器頁面以下:

在這裏插入圖片描述

九 多 profile運行注意事項

以下 配置文件 不寫在src/main/resources一個 application 中,而是分爲 application-peer1.yml, application-peer2.yml, application-peer3.yml ; 在 idea 的虛擬機參數(VM Options)配置 是 -Dspring.profiles.active=peer1 , -Dspring.profiles.active=peer2 ,-Dspring.profiles.active=peer3;部署方式相同;也能夠經過 mvn spring-boot:run -Dspring.profiles.active=peer1 的形式運行;

在這裏插入圖片描述

原文出處:https://www.cnblogs.com/zszxz/p/12079051.html

相關文章
相關標籤/搜索