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 端点无法正常工作。

posted @ 2020-12-02 15:21  zolmk  阅读(1554)  评论(0编辑  收藏  举报