天天看點

springcloud_2021.0.3學習筆記(一):eureka叢集配置

作者:高道天

本文介紹如何在springcloud項目中進行eureka服務端配置、eureka用戶端配置、以及eureka的叢集配置。本例使用的springcloud版本為:2021.0.3,springboot版本為:2.6.8。

1、Eureka服務端配置

1.1 建立eureka服務端項目

打開idea建立項目,選擇maven,建立springboot項目eueka-server-7001。

springcloud_2021.0.3學習筆記(一):eureka叢集配置

1.2 pom配置

在項目pom中引入eureka的服務端依賴 spring-cloud-starter-netflix-eureka-server。

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

1.3 application.yml配置

在項目resources檔案夾下建立application.yml檔案,并按如下内容進行配置:

server:
  port: 7001
eureka:
  instance:
    hostname: localhost            #eureka服務端的執行個體名稱
  client:
    register-with-eureka: false   #false表示不向注冊中心注冊自己
    fetch-registry: false         #false表示自己端就是注冊中心,我的職責就是維護服務執行個體,并不需要去檢索服務
    service-url:
     defaultZone:  http://${eureka.instance.hostname}:${server.port}/eureka           

1.4 主應用類配置

在項目src/main/java下建立主應用類 EurekaServerApplication.java,添加eureka服務端注解@EnableEurekaServer和@SpringBootApplication。

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}           

1.5 測試驗證

運作項目eueka-server-7001,然後通過浏覽器通路http://localhost:7001/位址,如果出現以下頁面,則表示eureka注冊中心配置成功:

springcloud_2021.0.3學習筆記(一):eureka叢集配置

2、Eureka用戶端項目配置

2.1 建立eureka用戶端項目

打開idea建立項目,選擇maven,建立springboot項目payment-8001。

springcloud_2021.0.3學習筆記(一):eureka叢集配置

2.2 pom配置

在項目pom中引入eureka的用戶端依賴 spring-cloud-starter-netflix-eureka-server。

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
   <version>2.2.10.RELEASE</version>
</dependency>           

2.3 application.yml配置

在項目resources檔案夾下建立application.yml檔案,并按如下内容進行配置:

server:
  port: 8001
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1.com:7001/eureka/
    fetch-registry: true
  instance:
    instance-id: payment-${server.port}
    prefer-ip-address: true           

2.4 主應用類配置

在主應用類上添加eureka用戶端注解 @EnableEurekaClient:

@Configuration
@MapperScan("com.knight.payment.dao")
@EnableEurekaClient
@SpringBootApplication
public class PaymentApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaymentApplication.class, args);
    }
}           

2.5 測試驗證

啟動并運作payment-8001項目,然後通過浏覽器通路http://localhost:7001/位址,如果出現以下頁面,則表示成功注冊到eureka注冊中心:

springcloud_2021.0.3學習筆記(一):eureka叢集配置

3、eureka叢集配置

3.1 eureka服務端配置

修改eureka服務端項目eueka-server-7001的application.yml檔案如下:

server:
  port: 7001
eureka:
  instance:
    hostname: eureka7001.com            #eureka服務端的執行個體名稱
  client:
    register-with-eureka: false   #false表示不向注冊中心注冊自己
    fetch-registry: false         #false表示自己端就是注冊中心,我的職責就是維護服務執行個體,并不需要去檢索服務
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/           

建立新的eureka服務端項目eueka-server-7002,并将application.yml檔案配置如下:

server:
  port: 7002
eureka:
  instance:
    hostname: eureka7002.com            #eureka服務端的執行個體名稱
  client:
    register-with-eureka: false   #false表示不向注冊中心注冊自己
    fetch-registry: false         #false表示自己端就是注冊中心,我的職責就是維護服務執行個體,并不需要去檢索服務
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/           

3.2 eureka用戶端項目配置

将項目payment-8001中的application.yml配置修改如下:

eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
    fetch-registry: true
  instance:
    instance-id: payment-${server.port}
    prefer-ip-address: true           

3.3 測試驗證

同時啟動并運作eueka-server-7001、eueka-server-7002、payment-8001三個項目,然後通過浏覽器通路http://eureka7001.com:7001/和http://eureka7002.com:7002位址,如果出現以下頁面則表示配置成功:

springcloud_2021.0.3學習筆記(一):eureka叢集配置

繼續閱讀