用Eureka实现”服务中心”

2022-09-15 14:15:44 浏览数 (1)

1、单节点"服务中心"

1.1、配置"服务中心"地址、端口号和应用名称

代码语言:javascript复制
#应用名称
spring.application.name=eureka-server
#应用端口号
server.port=8080
#是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=true
#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=http://localhost:${server.port}/eureka/

1.2、@EnableEurekaServer标识此服务为Eureka服务

代码语言:javascript复制
@SpringBootApplication
@EnableEurekaServer
public class EurekaSpringcouldApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaSpringcouldApplication.class, args);
    }
}

1.3、启动Eureka,端口8080

2、实现“服务中心”集群

2.1、概述

1、在实际使用时Eureka Server至少部署两台服务器,实现高可用。

2、两台Eureka Server互相注册。

3、微服务需要连接两台Eureka Server注册,当其中一台Eureka死掉也不会影响服务的注册与发现。

4、微服务会定时向Eureka server发送心跳,报告自己的状态。

5、微服务从注册中心获取服务地址以RESTful方式发起远程调用。

2.2、端口号配置

代码语言:javascript复制
server.port=${PORT:8080}

2.3、Eureka服务端的交互地址可配置

代码语言:javascript复制
#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=${EUREKA_SERVER:http://eureka02:8081/eureka/}

2.4、完整配置

代码语言:javascript复制
#应用名称
spring.application.name=eureka-server
#应用端口号
server.port=${PORT:8080}
#是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=true
#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=${EUREKA_SERVER:http://eureka02:8081/eureka/}
#自我保护是指当服务不再向服务中心上报状态时,服务中心将其删除
#是否开启自我保护,在开发阶段建议关闭自保护模式
eureka.server.enable-self-preservation=false
#服务注册表清理间隔(60*1000单位为毫秒)
eureka.server.eviction-interval-timer-in-ms=60000
eureka.instance.hostname=${EUREKA_DOMAIN:eureka01}

2.5、配置hostname

Eureka 组成高可用,两个Eureka互相向对方注册,这里需要通过域名或主机名访问,这里我们设置两个Eureka服 务的主机名分别为 eureka01、eureka02。

代码语言:javascript复制
127.0.0.1 eureka01
127.0.0.1 eureka02

2.6、在IDEA中制作启动脚本

启动1:

启动2:

1.7、运行两个脚本并访问Eureka

分别访问:

http://localhost:8080/

http://localhost:8081/

0 人点赞