要想创建服务注册中心,有两种方式!!
一、将一个微服务注册到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/**