【学习笔记】Spring Cloud

1、Spring Cloud简介:

成熟的微服务框架,定位为开发人员提供工具,以快速构建分布式系统

2、Spring Cloud核心组件

服务注册中心:Spring Cloud Netflix Eureka,会启动一个Eureka Serve,把其他的组件作为Eureka Client来注册上去,这是整体的一个思路
服务调用方式:REST API、Feign、Ribbon
服务网关:Spring Cloud Netflix Zuul
熔断器:Spring Cloud Netflix Hystrix(有了这个流量大的时候也可以征程运转)

3、项目整体设计

  • 项目介绍
  • 接口设计
  • 数据流向
  • 表设计

4、Spring Cloud的每个模块实际上都是一个Spring Boot项目

5、Eureka的作用与架构

【学习笔记】Spring Cloud_第1张图片
对Eureka的认知,如果服务长时间没有发送请求给Eureka,Eureka会认为该服务不再可用,将其除名,服务状态并不是一成不变。

6、引入Eureka:

服务端:
(1)引入依赖
父项目(标识spring cloud的版本依赖)和子项目(eureka)都要加依赖
(2)配置文件:端口号等等
(3)启动注解:整个Spring boot就拥有了作为Eureka Server的能力

@SpringBootApplication
@EnableEurekaServer
public class CourseServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(CourseServiceApplication.class, args);
    }
}

客户端:
注意:使用spring-cloud-starter-netflix-eureka-client这个依赖就可以不用在启动类写@EnableEurekaClient注解

  • 引入依赖
  • 配置文件

== 注意:使用spring-cloud-starter-netflix-eureka-client这个依赖就可以不用在启动类写@EnableEurekaClient注解==

7、服务整合:Feign

  • 引入依赖
  • 配置文件
  • 加入注解:@EnableFeignClients
    有了这个注解,就有了调用Feign的能力

8、负载均衡策略:

  • RandomRule 表示随机策略
  • RoundRobinRule 表示轮询策略
  • ResponseTimeWeightedRule加权,根据每一个Server的平均响应时间动态加权
  • 配置不同的负载均衡方式:
    Ribbon.NFLoadBalancerRuleClassName

9、网关Zuul:

网关Zuul:

  • 身份校验
  • 安全处理

集成Zuul:

  • 把自己注册到Eureka这个注册中心
  • 引入依赖
  • 配置路由地址

利用网关实现过滤器

你可能感兴趣的:(spring,cloud,学习,笔记)