启动项加注解@EnableDiscoveryClient
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
2.1.0.RELEASE
yml配置
server:
port: 20004
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #注册中心地址
application:
name: ware
配置中心
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
2.1.0.RELEASE
新加一个bootstrap.yml
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
prefix: ware
namespace: 73d8cff6-9c5f-4aba-a72b-1cb844505802
远程调用、垄断
org.springframework.cloud
spring-cloud-starter-openfeign
2.1.0.RELEASE
com.netflix.archaius
archaius-core
0.7.6
com.google.guava
guava
org.springframework.cloud
spring-cloud-starter-netflix-ribbon
2.1.0.RELEASE
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
2.1.0.RELEASE
代码。启动项要加@EnableFeignClients(远程调用)、@EnableHystrix(垄断)注解,以下为例:product服务启动时调用下面接口,product服务没启动时调用实现类(垄断)
//服务名
@FeignClient(value = "product",fallback = ProductFeignHystrix.class)
public interface ProductFeign {
//调用相应接口方法
@GetMapping("product/product")
public String productMethod();
}
@Configuration
public class ProductFeignHystrix implements ProductFeign {
@Override
public String productMethod() {
return "失败";
}
}
网关
注意:geteway版本要和springboot版本一致
org.springframework.cloud
spring-cloud-starter-gateway
2.1.3.RELEASE
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
2.1.0.RELEASE
yml配置
spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
routes:
# product服务
- id: product-route # 唯一id,自己随便取
uri: lb://product # 负载均衡
predicates:
- Path=/product/** # 拦截规则
filters:
- RewritePath=/?(?.*), /${segment} # 重写路径
server:
port: 88



