Spring Cloud学习笔记

Spring Cloud学习笔记

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