api-gateway实践(05)新网关工作 - 缓存定义
2017-08-08 10:07
645 查看
一、缓存分类
1、服务注册信息
1.1、[b][b][b]【GroupCode_VersionCode】对应【Version定义】的缓存[/b][/b][/b]
[b] 缓存类型:hash[/b]
缓存key:API:GrpVer:groupCode_VersionCode
缓存val: version定义
[b] 使用方式:String versionId = jedis.hget(RedisCachePrefix.getApiGrpVerKey(groupCode, versionCode), "id");[/b]
更新场景:version上线, version下线修改后重新上线,version下线(王静)
引擎缓存:无缓存,无监听
1.2、API 定义:API:ApiDef_
缓存名称:[b] 缓存类型:[/b]
缓存格式:api定义列表
初始时机:version上线
更新时机:version下线才能更新
销毁时机:version下线
引擎缓存:有[b],订阅 [apigateway.apis:online,offline] 事件[/b]
1.3、后端签名密钥:API:BckKey_
缓存名称:缓存类型:
缓存格式:[b][b]< Svc[b][b]Client[/b]Key,"[b][b]Svc[b][b]Client[/b]Secret:[b]Svc[b][b]Client[/b]Id[b][b][b]:OwnerId:OwnerName[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]" >
初始时机:[b]后端签名密钥创建[/b]
更新时机:后端签名密钥重置
销毁时机:无
引擎缓存:无
2、服务使用信息
2.1、前端签名密钥:[b]API:FrtKey_[/b]
缓存名称:[b] 缓存类型:[/b]
缓存格式:[b]< DevClientKey_VersionId,"[b][b]DevClientSecret:InstId:DevClientId:OwnerId:OwnerName[/b]" > ,绑定、解绑刷新[/b][/b]
初始时机:前[b]端签名密钥绑定[/b]
更新时机:前端签名密钥重置
销毁时机:服务使用实例回收,回收时删除服务使用实例,(周鲁,遍历解除绑定,干掉绑定缓存)
引擎缓存:无
2.2、服务使用策略:API:InstPol_
缓存名称:[b] 缓存类型:[/b]
缓存格式:<InstId[b]_ApiId_Policy, Map<策略Key,策略Val> > [/b]
初始时机:服务使用申请审核、服务使用升级申请审核时,缓存服务使用策略
更新时机:升级申请审批的时候,更新服务使用实例,同步刷新缓存数据
销毁时机:服务使用实例回收
引擎缓存:无
3、网关运行期缓存(引擎自维护)
3.1、请求随机数([b]nonce):[/b]API:ChkNon_
缓存名称:缓存类型:
缓存格式:<api[b]_nonceid, "" > [/b]
初始时机:该请求第一次访问
更新时机:无
销毁时机:目前每分钟自动销毁,有效期可配置(启庆)
引擎缓存:无
3.2、API访问频次:API:ChkFrq_
初始时机:该API第一次访问
更新时机:[b]该API每次访问[/b]
销毁时机:无
引擎缓存:无
3.3、配额检查:API:ChkQut_
初始时机:该API第一次访问
更新时机:[b]该API每次访问[/b]
销毁时机:无
引擎缓存:无
二、缓存刷新
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】事件网关引擎:刷新网关本地缓存
相关文章推荐
- api-gateway实践(10)新服务网关 - OpenID Connect
- api-gateway实践(04)新服务网关 - 新手入门
- api-gateway实践(01)服务网关 - 原型功能
- api-gateway实践(02)新服务网关 - 运行环境
- api-gateway实践(03)新服务网关 - 网关请求拦截检查
- api-gateway实践(06)新服务网关 - 请求监控
- api-gateway实践(13)新服务网关 - 断路保护/熔断机制
- api-gateway实践(15)API网关的待改进点 20171207
- api-gateway实践(08)新服务网关 - 云端发布和日志查看
- api-gateway实践(07)新服务网关 - 手动发布
- api-gateway实践(16)【租户模块:修改api定义】通过mq通知【开发者模块:更新开发者集市】
- 来自京东、宅急送对微服务编排、API网关、持续集成的实践分享(下)
- 浅谈API网关(API Gateway)如何承载API经济生态链
- 来自京东、唯品会对微服务编排、API网关、持续集成的实践分享(上)
- API GATEWAY API 网关
- 一个创业公司的API网关落地实践
- api-gateway实践(09)支持rest服务注册
- api-gateway实践(14)前端签名密钥和后端签名密钥
- 宜人贷蜂巢API网关技术解密之Netty使用实践
- 来自京东、唯品会对微服务编排、API网关、持续集成的实践分享(上)