3.7-Spring-Cloud-微服务

优质
小牛编辑
128浏览
2023-12-01

Spring Cloud 微服务.jpg

注解

注解功能
@EnableEurekaServer标注在 Application 类头,表示该服务为一个 服务注册发现服务器。
@EnableDiscoryClient标注在 Application 类头,注册服务。
@@EnableFeignClients标注在 Application 类头,发现服务。
@EnableZuulProxy

架构

微服务架构.PNG

服务注册与发现

服务注册与发现.PNG

1. 服务注册与发现

1.1 注册中心—Eureka Server

1.1.1 新建项目

【File】——>【New】——>【Project】——>【Spring Initializr】——>【Cloud Discovery 】——>【Eureka Server】

1.1.2 注解

注解功能
@EnableEurekaServer标注在 Application 类头,表示该服务为一个 服务注册发现服务器。

1.1.3 修改配置

服务注册:将服务的地址(不包括参数配置进Eureka中)。 关闭自我保护机制(开发环境)。

mvn clean package命令或按钮将Eureka Server项目打成jar包。

1.2 服务注册—Eureka Client

服务器名自定义:

2. 负载均衡器

3. 应用通信

3.1 RestTemplate

服务中调用其它服务。

  • 添加依赖。
  • 主类添加@EnableFeignClients注解。
  • 添加服务端接口
  • 新建接口。

3.2 Feign

  • 添加依赖。
  • 主类添加@EnableFeignClients注解。
  • 添加服务端接口
  • 调用接口方法

    4. 统一配置中心

    5. 消息和异步

    6. 服务网关Zuul

    6.1 定义

    服务名+地址。

    6.2 路由转发

    6.3 禁止路由

    6.3 动态路由

    6.4 Post和Pre过滤器

    6.5 限流

    6.5.1 限流算法

    6.5.1.1 计数器法

    6.5.1.2 滑动窗口

    滑动窗口.png

    6.5.1.3 漏桶法

    6.5.1.4 令桶法

    6.5.2 实现

    6.5.2.1 令桶法

    6.6 鉴权

    验证接口访问者拥有访问该接口的权限。

    6.7 跨域

    7. 服务容错Hystrix

    7.1 降级

    当服务不可用时,使用另一种方法响应用户请求。

    7.2 熔断

    使用一定策略管理服务的可用性。

    7.3 监控

    服务监控.png

    8. 服务跟踪(Sleuth+Zipkin)

    找出服务的性能瓶颈。 引入Zipkin依赖 启动Zipkin服务 zipkin地址、sample配置

    9. 容器部署

参考资料