技术要求太高?这个开源的全链路压测系统你值得拥有

766 阅读2分钟

微服务架构在现代系统架构中已被普遍使用,与此同时,随着业务的扩张和微服务数量的增加,它使系统变得非常复杂以至于人无法理解,而且,很多业务逻辑本身也非常复杂。业务复杂性和系统复杂性使保证和维持整个系统的高可用性非常困难,同时,它对研发效率也产生负面影响。

为了保证系统的高可用性,我们通常对测试环境或生产环境的单一服务进行性能测试,但是,测试环境与在生产环境区别很大,单个服务也不能代表整个服务链路,因此,它们都不能保证系统的高可用,通常也无法给出准确的容量评估结果。

今天马建仓所推荐的就是一款全链路压测系统,帮助你和你的团队进行持续调优,一起来看看吧。

项目名称: Takin

项目作者: 数列科技

开源许可协议: Apche-2.0

项目地址: gitee.com/TakinSL/Tak…

项目简介

Takin 是一款基于 Java 的开源系统,可嵌入到各个服务节点,实现生产环境的全链路性能测试,尤其适合面向微服务架构系统。

通过 Takin,系统中的中间件和应用可以在生产环境识别真实流量和测试流量,保证它们进入不同的数据库,实现真实和测试流量的现网隔离。

项目特点

  • 业务代码0侵入: 在接入、采集和实现逻辑控制时,不需要修改任何业务代码;
  • 数据隔离: 可以在不污染生产环境数据和日志的情况下实施性能测试,可以在生产环境对写类型接口进行直接的性能测试;
  • 链路治理: 能够帮助业务和微服务架构分析业务链路,以技术方式获得功能视角的链路信息;
  • 性能瓶颈定位: 性能测试结果可以直接展现整个链路中存在性能瓶颈的微服务架构节点。

开源模块

Takin 共开源了三大部分:

  • Agent 探针
  • 控制中台以
  • 大数据模块

在 Java 应用程序中植入探针(agent),它能收集性能数据、控制测试流量的流向,将数据上报给大数据模块,大数据模块会进行一些实时计算并对数据进行存储,控制台则负责这些业务流程的管理和展现。三个部分各司其职,为业务提供无代码侵入的、常态化的生产环境全链路压测服务。

现在就点击链接,Get 这个开源全链路压测系统吧:gitee.com/TakinSL/Tak…