Spring Cloud学习笔记
- 使用Ribbon实现负载均衡,通过自定义Ribbon配置类来修改负载均衡的规则(默认有9种)
- 可以用RestTemplate客户端来调用“服务提供者”的接口,也可以用Feign客户端来调用“服务提供者”的接口,二者的注解不同。Feign的一些注解并不是SpringMVC的原生注解。
- feign中使用hystrix会使得
@autowired
注解失效,因此要给FeignClient接口加上注解@Primary
,给继承FeignClient的MyHystrix加上@Component
- 使用
HystrixDashboard
要加上配置hystrix.dashboard.proxy-stream-allow-list=localhost
,才能连接进行访问;在需要监控的feign
客户端开启Hystrix
和HystrixDashboard
进行监控 - turbine默认依赖于eureka,要在pom.xml中排除依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</exclusion>
</exclusions>
</dependency>
- 网关
GateWay
在微服务中极其重要,负责路由转发,过滤器等等。路由转发规则有默认的11种路由谓词工厂;路由转发能通过注册到服务中心实现转发;过滤器有20个网关过滤器和9个全局过滤器。路由转发指将请求地址按某种匹配规则(即谓词工厂)转发到服务提供地址;过滤器能对请求内容进行处理,以达到参数校验、服务监控、限流等功能 Gateway
的实现是用Netty+WebFlux
,因此使用时不要加入Web
依赖