eureka本地配置高可用


Eureka Server 高可用環境需要部署兩個Eureka server,它們互相向對方注冊。如果在本機啟動兩個Eureka需要注意兩個Eureka Server的端口要設置不一樣
1、在實際使用時Eureka Server至少部署兩台服務器,實現高可用。
2、兩台Eureka Server互相注冊。
3、微服務需要連接兩台Eureka Server注冊,當其中一台Eureka死掉也不會影響服務的注冊與發現。
4、微服務會定時向Eureka server發送心跳,報告自己的狀態。
5、微服務從注冊中心獲取服務地址以RESTful方式發起遠程調用。

這里通過配置環境變量方式實現單項目運行多個eureka server

1. 新建springboot項目在maven中引入eureka server

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

2. 配置application.xml

server:
  port: ${PORT:50101}
spring:
  application:
    name: xc-registry
eureka:
  client:
    service-url:
      defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/}
    register-with-eureka: true
    fetch-registry: true
  server:
    enable-self-preservation: false # 關閉自我保護
    eviction-interval-timer-in-ms: 60000 # 每隔5秒鍾,進行一次服務列表的清理
  instance:
    hostname: ${EUREKA_DOMAIN:eureka01}

3. 在啟動類添加@EnableEurekaServer配置


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @author john
 * @date 2019/12/27 - 8:59
 */
@SpringBootApplication
@EnableEurekaServer
public class XuechengRegistryApplication {
    public static void main(String[] args) {
        SpringApplication.run(XuechengRegistryApplication.class, args);
    }
}

4. 編輯idea 運行配置

idea中拷貝運行配置,第一份配置中配置如下環境變量

-DPORT=50101 -DEUREKA_SERVER=http://eureka02:50102/eureka/ -DEUREKA_DOMAIN=eureka01

在第二份中配置如下環境變量

-DPORT=50102 -DEUREKA_SERVER=http://eureka01:50101/eureka/ -DEUREKA_DOMAIN=eureka02

如下圖所示

5. 修改host文件

Eureka 組成高可用,兩個Eureka互相向對方注冊,這里需要通過域名或主機名訪問,這里我們設置兩個Eureka服
務的主機名分別為 eureka01eureka02

修改host文件

127.0.0.1 eureka01
127.0.0.1 eureka02

5. 運行



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM