返回顶部
热门搜索: 阅读  闪乱 喜马拉雅 色情
位置:首页 > 文章资讯 > 资讯百科>降低测试成本 屏蔽gRPC复杂性 轻舟新增流量染色和gRPC托管服务

降低测试成本 屏蔽gRPC复杂性 轻舟新增流量染色和gRPC托管服务

发布时间:2019-10-11

来源:本站整理

所属频道:资讯百科

近日 网易轻舟微服务发布了最新的流量染色和gRPC服务托管功能 其中流量染色功能既可以帮助用户在新版本发布前进行小规模验证 还可以用于测试环境的治理 提高整体测试环境的复用性。gRPC托管服务可以帮助用户屏蔽注册中心 配置中心和元数据中心的复杂度 只需要关注gRPC服务自身的逻辑。

流量染色的三种妙用

流量染色是指根据流量协议设置对应的流量染色规则 对指定的流量进行染色标记 并在整个调用链中携带该标记。通过染色流量可以对特定的流量进行跟踪和路由 所以流量染色功能常被用于灰度发布的场景。在业务系统迭代过程中会不断有新版本发布 在正式发布前 可以使用流量染色控制先进行小规模验证 通过收集使用体验的数据 对应用新版本的功能 性能 稳定性等指标进行评判 然后再全量升级。即使某个新版本出现问题 也只会影响已染色流量 不会将问题蔓延至整个系统 保证整个系统的正常运行。

同理 流量染色功能还可以用于大促前的性能压测。在线上压测的场景中 为了让压测数据和正式的线上数据实现隔离 常用的方法是对于消息队列 缓存 数据库使用影子的方式。这就需要流量染色的技术 带一个tag进去 说明这个请求是测试数据 还是真实数据。

此外 流量染色功能还可以用于多测试环境的治理。在大规模微服务场景下 不可能每个部门部署一套完整的环境 因为耗费的资源量实在是太大了。这时候就需要合理规划测试环境 可以建立一个基准测试环境 对应Master分支 里面部署全量的应用。每一个分支对应有更新的模块 比如说你修改了五个工程 测试的时候 不需要部署全量的应用 只需要把这五个工程去创建一个Delta测试环境就可以了。

当客户端进行测试的时候 通过流量染色标记不同的测试分支流量 将该流量路由至测试版本。当这五个服务之内相互调用的时候 微服务框架就会选择这五个服务的实例进行调用 如果需要调用五个服务之外的其他服务的时候 微服务框架会到Master环境里面 选择服务实例进行调用。有了流量染色的环境治理机制 测试环境数量会大大减少。

轻舟流量染色的优势

轻舟的流量染色还具有多方面优势 比如支持HTTP RPC等多种协议类型 支持NSF服务或API网关为流量入口 支持MQ等中间件的流量染色等。此外 轻舟的流量染色还支持流量染色穿梭和多个流量染色配置 即对于染色链路中未指定的服务 允许再请求中携带染色标记并在下一跳路由回染色链路 甚至允许同一个微服务同时参与多个流量染色。

gRPC 服务托管降低研发成本

本次轻舟的另一更新是gRPC服务托管。gRPC是一个高性能 通用的开源RPC框架 越来越多的用户已经开始采用gRPC 作为微服务的通信解决方案。将gPRC服务托管到 NSF微服务框架 用户只需要关注 gRPC服务自身的逻辑 无需再关注注册中心 配置中心和元数据中心的搭建和维护。托管后还可以使用 NSF提供的限流降级 拓扑关系 路由 及监控等能力 而且整个托管过程是无侵入的 不会增加用户的理解成本和开发成本。

轻舟gRPC 服务托管提供完善的治理能力

目前轻舟gRPC服务托管支持以下功能需求:

l支持gRPC服务的注册与发现;

l查看gRPC 服务实例列表;

l查看gRPC 服务监控;

l支持动态配置;

l查看gRPC 服务依赖关系和服务拓扑;

l支持gPRC 服务的限流 降级 容错等治理能力;

l支持gRPC 服务的路由管理;

l支持gRPC 服务的流量染色;

通过知识库管理gRPC 服务元数据;

  转载请注明出处。

相关阅读