• api-gateway实践(05)新网关工作


    一、缓存分类

    1、服务注册信息

    1.1、GroupCode_VersionCode】对应【Version定义】的缓存

               

              缓存类型:hash

              缓存key:API:GrpVer:groupCode_VersionCode

              缓存val: version定义

              使用方式:String versionId = jedis.hget(RedisCachePrefix.getApiGrpVerKey(groupCode, versionCode), "id");

              更新场景:version上线, version下线修改后重新上线,version下线(王静)

              引擎缓存:无缓存,无监听

    1.2、API 定义:API:ApiDef_

            缓存名称:

            缓存类型:

            缓存格式:api定义列表

            初始时机:version上线

            更新时机:version下线才能更新

            销毁时机:version下线

            引擎缓存:有,订阅 [apigateway.apis:online,offline] 事件 

    1.3、后端签名密钥:API:BckKey_

            缓存名称:

            缓存类型:

            缓存格式:SvcClientKey,"SvcClientSecret:SvcClientId:OwnerId:OwnerName" >  

            初始时机:后端签名密钥创建

            更新时机:后端签名密钥重置

            销毁时机:无

            引擎缓存:无

    2、服务使用信息

    2.1、前端签名密钥:API:FrtKey_

            缓存名称:

            缓存类型:

            缓存格式:DevClientKey_VersionId,"DevClientSecret:InstId:DevClientId:OwnerId:OwnerName" >  ,绑定、解绑刷新

            初始时机:前端签名密钥绑定

            更新时机:前端签名密钥重置

            销毁时机:服务使用实例回收,回收时删除服务使用实例,(周鲁,遍历解除绑定,干掉绑定缓存)

            引擎缓存:无

    2.2、服务使用策略:API:InstPol_ 

            缓存名称:

            缓存类型:

            缓存格式:<InstId_ApiId_Policy, Map<策略Key,策略Val> > 

            

            初始时机:服务使用申请审核、服务使用升级申请审核时,缓存服务使用策略

            更新时机:升级申请审批的时候,更新服务使用实例,同步刷新缓存数据

            销毁时机:服务使用实例回收

            引擎缓存:无

    3、网关运行期缓存(引擎自维护)

    3.1、请求随机数(nonce):API:ChkNon_

            缓存名称:

            缓存类型: 

            缓存格式:<api_nonceid, "" > 

            初始时机:该请求第一次访问

            更新时机:无

            销毁时机:目前每分钟自动销毁,有效期可配置(启庆)

            引擎缓存:无

    3.2、API访问频次:API:ChkFrq_

     

            初始时机:该API第一次访问

            更新时机:该API每次访问

            销毁时机:无

            引擎缓存:无

    3.3、配额检查:API:ChkQut_

     

            初始时机:该API第一次访问

            更新时机:该API每次访问

            销毁时机:无

            引擎缓存:无

    二、缓存刷新

    1、版本管理

    1.1、版本上线

              配置中心:缓存 version定义、api定义

              网关引擎:订阅更新 本地的version定义和api定义缓存(骞骞验证一下)

    1.2、版本下线

              配置中心:干掉version定义、api定义缓存

              网关引擎:订阅更新,干掉本地的version定义和api定义缓存(骞骞验证一下)

    2、后端密钥管理

    2.1、后端密钥创建

              配置中心:缓存后端密钥

              网关引擎:无缓存,不需要动作

    2.2、后端密钥绑定

              配置中心: version需要先下线再上线,所以绑定关系会随版本重新上线刷新

              网关引擎:无缓存,不需要动作

    2.3、后端密钥解绑

              配置中心:version需要先下线再上线,所以绑定关系会随版本重新上线销毁

              网关引擎:无缓存,不需要动作

    3、审批申请

    3.1、审批使用申请

              配置中心:产生服务使用实例,刷新策略缓存

              网关引擎:无缓存,不需要动作

    3.2、审批使用升级申请

              配置中心:更新服务使用实例,刷新策略缓存

              网关引擎:无缓存,不需要动作

    3.3、回收服务使用实例

             配置中心:去掉前端密钥缓存、服务使用实例缓存(包括svcUserId)

             网关引擎:无缓存

    4、前端密钥管理

    4.1、前端密钥创建

             配置中心:无缓存动作

             网关引擎:无缓存 

    4.2、前端密钥绑定

             配置中心:增加前端密钥缓存

             网关引擎:无缓存 

    4.3、前端密钥解绑

             配置中心:去掉前端密钥缓存

             网关引擎:无缓存 

    5、一键刷新

            配置中心:一键刷新,刷新所有的缓存,发布【apigateway.refreshAll】事件 

            网关引擎:刷新网关本地缓存

  • 相关阅读:
    python---对齐
    python---保留两位小数
    调试--valgrind
    调试--gdb远程调试
    调试---将断点设置在某个文件的某行(多线程调试有用)
    调试-----调试正在运行的多线程程序
    调试---调试正在运行的程序
    linux----dmesg 时间
    c++----static 重复调用
    调试--汇编调试
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7305356.html
Copyright © 2020-2023  润新知