SpringCloud 整合Eureka/Nacos服务注册与发现
一、Eureka
1. Maven依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
2. Eureka注解
A. @EnableEurekaServer:该注解表明应用为eureka服务,可以联合多个服务作为集群,对外提供服务注册以及发现功能
package com.ruhaunxingyun.eurekaserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3. application.yml配置文件
spring.application.name=spring-cloud-eureka server.port=10086
# 设置该服务注册中心的主机名 eureka.instance.hostname=localhost # 服务刷新时间 eureka.instance.lease-renewal-interval-in-seconds=5 # 超过这个时间没收到心跳就剔除这个服务,这个配置一般为服务刷新时间配置的三倍 eureka.instance.lease-expiration-duration-in-seconds=15 # 是否将自己注册到Eureka Server, 默认为true(集群环境需为true) eureka.client.register-with-eureka=false # 是否从Eureka Server获取注册信息, 拉起服务, 默认为true(集群环境需为true) eureka.client.fetch-registry=false # eureka client刷新本地缓存时间 eureka.client.registry-fetch-interval-seconds=5 # 设置与Eureka Server交互的地址 eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ # Eureka Server刷新readCacheMap的时间,client读取的是readCacheMap eureka.server.response-cache-update-interval-ms=5000 # 服务下线任务定时 eureka.server.eviction-interval-timer-in-ms=5000 # 关闭自我保护 eureka.server.enable-self-preservation=false
4. 启动服务访问地址
单节点可参考:https://wangsong.blog.csdn.net/article/details/77803564
集群可参考:https://wangsong.blog.csdn.net/article/details/77823434 || http://blueskykong.com/2018/02/09/eureka-instance-registry/
Eureka配置可参考:https://wangsong.blog.csdn.net/article/details/77877914 || https://blog.csdn.net/yjclsx/article/details/84241293
增加权限可参考:http://cxytiandi.com/blog/detail/12171
二、Nacos:请前往SpringCloud Nacos注册与配置中心
三、Consul