要想創建服務注冊中心,有兩種方式!!
一、將一個微服務注冊到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/**