SpringCloud alibaba 学习

 1.SpringCloud alibaba  常用组件         

          注册中心  Nacos      服务的注册与发现  完成服务的管理

          配置中心  Nacos       项目中动态数据的统一管理  项目自动获取最新数据信息

          网关  Gateway           聚合后端服务  实现请求过滤

          远程调用  OpenFeign       服务之间的通信  远程调用

          熔断降级  Sentinel            请求的流量可视化控制  和接口的熔断降级

          链路跟踪   Sleuth+Zipkin     服务的调用链路跟踪  通过记录日志形式完成

2.Nacos     注册中心/配置中心

    a  服务注册在服务端本地以轮询注册中心集群节点进行注册  采用Map保存  Pull/Push同时运作

    b  注册中心实现服务步骤   6步

          1   服务容器启动加载   

          2  服务提供者启动时 向注册中心注册自己提供的服务

          3   服务消费者启动时 向注册中心订阅自己所需的服务

          4   注册中心返回服务提供者地址列表给消费者 如有变动  注册中心基于场链接推送变更数                    据给消费者

          5    服务消费者 从提供者地址列表中 基于负载均衡算法  选一台提供者调用  失败选另外一台

          6    服务消费者和提供者在内存中累计调用次数和时间定时发送一次数据给监控中心

    C       CAP理论                 

             Nacos :AP/CP                    ZK :CP   

    D    Nacos其他   

       注册中心+配置中心的组合   Eureka+config+bus总线      

       服务注册              页面-服务管理                             

            新建Model  导包(pom)   YML文件  主启动类  业务      页面打开(测试) 

           生产端8808    消费者9001  9002  轮询的方式访问  天生负载均衡

       配置中心               页面-配置管理

        新建   导包(pom)   YML文件  主启动类  业务       Nacos中添加配置信息      测试-动态刷新                          2个配置   项目启动先从配置中心进行配置拉取   再拉取

                        springboot配置文件加载优先级  bootstrap优先于application    

    3     Gateway     网关    聚合后端服务  实现请求过滤

         a 使用

                  i :路由匹配  一般是路径匹配

                  ii :请求过滤   全局过滤器和局部过滤器

         b  路由器匹配流程

              1   Gateway接受客户端请求

              2    客户端请求与路由信息匹配    成功继续

              3    请求经过Filter过滤器链  执行pre处理逻辑  如修改请求头

              4     请求被转发至下游服务器并返回响应

              5     响应经过Filter过滤器链  齿形post处理逻辑

               6   向客户端响应应答

     4     OpenFeign    远程调用

         a 使用

               2个注解  1@EnableFeignClients   @FeignClient

         b 问题解决

              1文件上传

              2请求消息头传递

         c 负载均衡

                    OpenFegin  实现负载均衡是基于 loadbalancer 实现   1 轮询(默认) 2 随机

        d  工作原理

                 1  通过@EnableFeignClients触发 sping对 classpath中@FeignClient的扫描

                 2   解析到@FeignClient修饰类后 Feign通过spingbean Deifintion的注册逻辑  注册一个

                       FeignClientFacotoryBean进入Spring容器

                 3 Spring容器初始化其他用到@FeignClient接口的类  获得一个                                                               FeignClientFacotoryBean产生的代理对象Proxy

                 4基于动态代理      针对Proxy的调用  都会被统一转发给Feign框架所定义的一个

                       InvocationHandler  由该Handler完成HTTP转换 发送 接受 翻译 HTTP响应的工作

  5   Sentinel    熔断降级

          a 应用

                 1 限流:可视化  完成接口的流星限载   

                    支持 1  单机阈(yu)值   (1线程数   2QPS)

                             2   集群阈值(1均摊  2总量)         

                   2 熔断降级:保护核心接口  一旦接口故障 可以根据熔断条件 自动降级处理

                          熔断机制 1 RT 2 异常数  3异常比例                     

           b 原理     

                    Sentinel中 所有资源名resourceName  每次访问都会创建一个对应的Entry对象

                     同时 还会创建一系列的功能插槽(slot chain)这些会组成一个责任链

                         8个

                    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值