要想創建服務注冊中心,有兩種方式!!
一、將一個微服務注冊到Eureka Server
1、添加Eureka Client(或其他服務發現組件的Client)依賴:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
2、寫注解:在啟動類上添加注解@EnableDiscoveryClient 或@EnableEurekaClient
@EnableEurekaClient
@SpringBootApplication
public class ProviderUserApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderUserApplication.class, args);
}
}
3、寫配置:
spring:
application:
name: microservice-provider-user
eureka:
client:
serviceUrl:
defaultZone: http://localhost:${server.port}/eureka/zh
注:從Spring Cloud Edgware開始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略。只需加上相關依賴,並進行相應配置,即可將微服務注冊到服務發現組件上。
@EnableDiscoveryClient和@EnableEurekaClient共同點就是:都是能夠讓注冊中心能夠發現,掃描到改服務。
不同點:@EnableEurekaClient只適用於Eureka作為注冊中心,@EnableDiscoveryClient 可以是其他注冊中心。
二、將一個微服務注冊到Discovery Server
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<artifactId>jsr305</artifactId>
<groupId>com.google.code.findbugs</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
@EnableDiscoveryClient @SpringBootApplication public class ProviderUserApplication { public static void main(String[] args) { SpringApplication.run(ProviderUserApplication.class, args); } }
cloud: #注冊到服務中心 nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos #指定路由規則 gateway: routes: #路由id - id: itrip-auth(模塊名) #路由目標服務名 uri: lb://itrip-auth #路徑匹配,路徑里面有哪些特定的字符串,就路由到這個服務 predicates: - Path=/auth/**
