Eureka Client 配置


Eureka Client 配置

一、初級配置(傻瓜式)

1、新建一個 Spring Boot 項目

2、在 pom.xml 文件中添加

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

3、在 Application.java 文件中開啟 服務發現注解,如下

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

}

4、在 application.yml 中添加如下配置

server:
      port: 8770
spring:
      application:
            name: user-info-server
eureka:
      client:
            service-url:
                  defaultZone: http://zolmk:zolmk@eureka-node-a:8761/eureka/
            register-with-eureka: true
            fetch-registry: true
      instance:
            prefer-ip-address: true
  • service-url 表示 Eureka Server 的地址
  • prefer-ip-address=true 表示將自己的 ip 注冊到 Eureka Server 上
  • service-url Eureka Server 地址,以 Map 的形式存放

5、運行 application

二、注冊需要認證的 Eureka Server

只需要改下 defaultZone 即可

defaultZone: user:password@hostname:port/eureka/

三、多網卡環境下的 IP 選擇

1、忽略指定名稱的網卡,例如:

spring:
      cloud:
            ignored-interfaces:
                  - docker0
                  - veth.*
eureka:
      instance:
            prefer-ip-address: true

ignored-interfaces 忽略 docker0 網卡 以及所有以 veth 開頭的網卡。

2、使用正則表達式,指定使用的網絡地址

示例:

spring:
      cloud:
            inetutils:
                  preferredNetworks:
                        - 192.168
                        - 10.0
eureka:
      instance:
            prefer-ip-address: true

3、只使用站點本地地址

示例:

spring:
	cloud:
		inetutils:
			useOnlySiteLocalInterfaces: true
eureka:
	instance:
		prefer-ip-address: true

4、手動指定 IP 地址

在某些極端場景下,可以手動指定注冊到 Eureka Server 的微服務 IP。示例:

eureka:
	instance:
		prefer-ip-address: true
		ip-address: 127.0.0.1

四、Eureka 的健康檢查

一般 Eureka Server 和 Eureka Client 之間通過心跳機制來判斷 Eureka Client 是否可用,但這種方式並不能真正保證 Eureka Client 的可用性,我們可以通過啟用 Eureka 的健康檢查,這樣,應用程序就會將自己的健康狀態傳播到 Eureka Server。開啟方法如下

eureka:
	client:
		healthcheck:
			enabled: true

注1:該配置僅能配置在 application.yml 中,如配置在 bootstrp.yml 中,會導致一些不良的副作用。

注2:使用該配置時,/pause 端點無法正常工作。


免責聲明!

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



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