微服务平台之API授权( 三 )
本文插图
(4) 服务消费者可以在逻辑流中利用EOS服务图元调用网关上发布的EOS服务 , 此处的远程URL为网关上发布的EOS服务URL 。
本文插图
3、API网关鉴权
(1) 网关收到调用请求时 , 会校验请求头的API订阅凭证是否有权限调用指定的API , 校验通过后 , 会按照路由规则将请求转发给服务提供者;
(2) 服务提供者收到网关转发的调用请求时 , SDK会拦截所有的请求 , 检查请求头中的X-EOS-GatewayCode网关编码 , 如果为当前系统所属网关编码 , 则说明是当前系统授信网关 , 允许其继续访问 , 否则拒绝访问 。
同时 , 考虑到高并发场景下的性能问题 , 为了避免频繁从持久化存储中查询数据 , EOS微服务平台的网关内部设计了基于内存的高速缓存 , 网关发布的API、订阅关系、路由规则等都会加载到缓存 。
本文插图
4、调用链路追踪
对于复杂的系统内以及跨系统服务调用跟踪 , 通过Governor提供的业务链路追踪可以查看一次前端请求的完整调用链路 , 包括接口耗时、URL、状态等链路信息 , 可以帮助用户定位问题、解决性能瓶颈 , 如下图所示:
本文插图
5、 微服务多版本
在灰度场景下 , 服务提供者会有多个版本同时在线 , 并且可能不同版本对外发布的API也会有差异 , 在EOS微服务平台中可以通过多个应用实例组、灰度策略、多个订阅者的方式来实现 。 这里结合以下示例场景来说明:
(1)库存应用有两个在线版本 , 分为两个应用实例组 , 分别是默认实例组和V2.0版本 , 并且V2.0版本实例组的API也发布到网关;
本文插图
(2)对于调用服务提供者V2.0版本API的服务调用方 , 为其设置单独的订阅者 , 订阅服务提供者V2.0版本发布的API;
(3)平台在默认情况下 , 所有的服务调用请求都只会发给默认实例组的实例 , 所以还需要在Governor中设置灰度策略 , 例如:请求头中如果指定某个自定义参数值 , 请求将会发给V2.0版本实例组 。
本文插图
(4)服务调用方发起调用请求时 , 在请求头中设置灰度策略中指定的参数值 , 实现灰度场景下的跨系统服务调用 。
5.总结
EOS微服务平台提供了基于EOS SDK的访问控制机制和基于网关的API授权鉴权机制 , 用于实现同一系统内部服务调用和跨系统服务调用的安全认证 。
对于同一系统内的微服务 , EOS微服务平台允许服务之间互相调用 , 微服务集成的EOS SDK通过检查请求头中的系统凭证和系统编码、核对服务调用方的IP地址 , 对服务调用进行访问控制 。
对于跨系统的服务调用 , EOS微服务平台要求服务提供者必须首先将API发布到所属系统的网关、配置路由规则 , 然后为服务调用方设置订阅者并进行授权 。 服务调用方获得授权之后根据订阅凭证调用服务提供者网关上已授权的API , 网关会对调用请求进行访问鉴权和路由转发 , 服务提供者收到网关转发的调用请求时 , EOS SDK还会检查是否来自当前系统授信网关 , 从而完成服务调用的认证 。
除此之外 , EOS微服务平台还提供Coframe(应用基础框架)、IAM(统一认证管理平台)作为登录认证、用户授权的默认实现 , 与服务调用安全认证一起构成了EOS微服务平台的安全控制机制 。
推荐阅读
- 南方PLUS|| 广州出大招!成立企业上市综合服务平台,滚动
- 爱云资讯 创新创造价值!软通动力企业服务平台获最佳数字化解决方案奖
- 车家号|特斯拉这步棋下得有点妙,开放软件授权电池专利
- 清澈如初|AIStation重磅登场 浪潮信息决胜AI推理服务平台
- 英国|特朗普授权士兵开枪闯大祸:街头激烈交火,美国人用炸弹攻击军队
- 互联网乱侃秀 有自己的IP,不全部靠国外授权,是必由之路,中国芯要崛起
- 遥不可及|高通与华为达成长期授权协议,华为手机要用高通芯片了?
- 如颖随行|高通已与华为达成新的长期专利授权,华为将支付18亿美元
- 深圳市创业服务平台|注册分公司和子公司有什么区别呢?
- 深圳市创业服务平台|个体户注册公司的流程怎么样呢?
