可以确定的说,你的配置出现了问题:
Eureka是Server端,被注册的模块配置是Client端,再一个就是pom.xml依赖。一个是Server,一个是Client。
我的问题出现在这儿,需要引入的依赖缺少starter:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
具体配置如下:
1.Eureka注册中心配置:
①启动类添加 @EnableEurekaServer 注解
@SpringBootApplication
@EnableEurekaServer // 表示7001是服务的注册中心 管理配置登录和注册
public class EurekaMain7001 {
public static void main(String[] args) {
SpringApplication.run(EurekaMain7001.class, args);
}
}
②配置Eureka服务端yml
server:
port: 7001
eureka:
instance:
hostname: localhost # eureka服务端的实例名称
client:
register-with-eureka: false #false是不能向注册中心注册自己
fetch-registry: false #表示自己端就是注册中心,职责就是维护服务实例
service-url:
#与Eureka Server 交互的地址查询服务和注册服务都需要依赖这个地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
③pom.xml添加依赖,我的问题就出现在这个依赖上
新版本的一定是:spring-cloud-starter-netflix-eureka-server
傻缺了,少添加starter
<!-- eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
3.将8001服务添加到Eureka注册中心
①启动类:添加注解@EnableEurekaClient
@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8001.class, args);
}
}
②yml:注意是client端
eureka:
client:
#将自己注册到eurekaServer上
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单结点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
#将自己的服务入驻到哪个主机。哪个端口。Eureka服务的路径。
defaultZone: http://localhost:7001/eureka
③pom.xml依赖:
我的问题就出现在这儿:spring-cloud-starter,cloud后面没加starter
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
注册到Eureka注册中心,成功!