博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
api-gateway实践(05)新网关工作 - 缓存定义
阅读量:5075 次
发布时间:2019-06-12

本文共 1959 字,大约阅读时间需要 6 分钟。

一、缓存分类

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】事件 

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

转载于:https://www.cnblogs.com/lexiaofei/p/7305356.html

你可能感兴趣的文章
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>