当前位置:   article > 正文

spring cloud eureka快速入门

eureka快速入门
一、Eureka入门
1.创建一个springboot项目导入jar包

我们这里导入的是eureka-server

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
2.在配置文件中配置
server.port=10001
spring.application.name=eureka1

# 注册服务地址
eureka.client.service-url.defaultZone = http://localhost:10001/eureka/
# 显示ip地址
eureka.instance.ip-address=true
# 是否开启自我保护机制
eureka.server.enable-self-preservation=false
# server清理无效节点的时间间隔,默认60000毫秒,即60秒
eureka.server.eviction-interval-timer-in-ms= 60000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
3.在启动类上加入注解@EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

当我们启动时,会报一个错。为什么会报这个错,如何解决呢?
在这里插入图片描述
因为,当启动的时候,会默认向8761端口注册自己,如配置了,就是走配置的端口,我们上面是10001端口。这个时候我们这个服务并没有启动,所以会报这个错。而且在注册自己同时,也会向10001端口。拉取注册信息。同样服务还没有启动,所以报错。当然这个错其实会不会影响我们使用。因为定时任务重试,还是会成功的。
我们可以添加如下配置解决:

# 是否自我注册
eureka.client.register-with-eureka=false
# 是否拉取注册信息
eureka.client.fetch-registry=false
  • 1
  • 2
  • 3
  • 4

这2个值默认都是true,因为单个eureka并不需要注册自己,也不需要拉取列表,所以可以关闭它。再次启动就不会有错了。

4.注册服务

创建个工程导入eureka-client相关jar

   <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.0.0.RELEASE</version>
    </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

启动类添加注解@EnableEurekaClient

@SpringBootApplication
@EnableEurekaClient
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

添加配置

server.port=9001

spring.application.name=order

# 注册服务地址
eureka.client.service-url.defaultZone = http://localhost:10001/eureka/
eureka.instance.prefer-ip-address=true
# eureka 界面显示的服务名称格式
eureka.instance.instance-id= ${spring.cloud.client.ip-address}:${server.port}

# client间隔多久去拉取服务注册信息,默认为30秒
eureka.client.registry-fetch-interval-seconds=30
# 表示eureka client发送心跳给server端的频率,默认30秒
eureka.instance.lease-renewal-interval-in-seconds=30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

启动后,打开我们配置的地址,我这里是:http://localhost:10001/
在这里插入图片描述

二、高可用Eureka

eureka的服务的高可用就是多个实例相互注册

在这里插入图片描述

我们如上步骤创建一个eureka2
配置的如下的配置


server.port=10002
spring.application.name=eureka2
# 注册服务地址
eureka.client.service-url.defaultZone = http://localhost:10001/eureka/
eureka.instance.hostname=${spring.application.name}

# 显示ip地址
eureka.instance.ip-address=true

# 是否开启自我保护机制
eureka.server.enable-self-preservation=false

# server清理无效节点的时间间隔,默认60000毫秒,即60秒
eureka.server.eviction-interval-timer-in-ms= 60000

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

eureka.client.service-url.defaultZone 配置对方的地址

运行后启动,不管打开http://localhost:10001/,http://localhost:10002/,都能出现如下页面

在这里插入图片描述

注册的服务配置的注册的地址2个写上2个,以逗号隔开

# 注册服务地址
eureka.client.service-url.defaultZone = http://localhost:10001/eureka/,http://localhost:10002/eureka/
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/903440
推荐阅读
相关标签
  

闽ICP备14008679号