乐趣区

关于开源项目介绍:数列科技百万级全链路压测产品宣布开源为行业节约20的研发人员

6 月 25 日,国内出名的零碎高可用专家数列科技发表开源旗下外围产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin。
目前中国人寿、顺丰科技、希音、中通快递、中国移动、永辉超市、爱库存、浙江大学等 50+ 行业头部公司都采纳了该技术,10 万 + 探针同时线上运行,每天实时处理数百亿条用户申请,生成数百 TB 链路数据。该我的项目已在 Github 上公布,作为寰球首款开源的全链路压测平台,Takin 的开源将为更多企业提供超低门槛、超低老本、超高效率的性能保障能力。

什么是生产环境全链路压测?

全链路压测是一种应用最低老本,使零碎达到最确定的性能指标的办法,可能保障业务的连续性,让 IT 零碎具备反软弱能力和疾速定位问题能力。
IT 零碎是工程师联合具体的业务场景基于一系列的根底组件进行编码搭建而成的,根底组件自身的局限性,以及代码的不确定性,会使整个零碎存在很大的不确定性,这种不确定性会让零碎在面临一系列“危险”场景(顶峰场景)时,体现得很软弱,那该如何让零碎具备反软弱能力呢?


通过生产环境全链路压测,实在模仿“危险”业务行为场景,实时监控零碎体现,提前辨认和疾速定位系统的中的不确定因素,并对不确定因素进行解决,优化系统资源配比,应用最低硬件老本,使零碎从容面对各种“危险”场景,达到预期的零碎性能指标。通过这种办法,在生产环境上落地常态化稳固压测体系,实现 IT 零碎的长期性能稳固治理。

性能测试经验了从线下到线上演变的四个阶段:

1. 需要驱动压测阶段
需要驱动压测,大多采纳简略的工具进行单接口或者单零碎压测,也能进行一些简略的性能问题剖析,但很多时候都没有专门的测试团队,须要开发进行自主压测。

2. 性能回归体系阶段
组建专门的性能测试团队搭建线下性能测试品质平台,具备简单场景全链路压测能力、性能问题定位能力。

在这一阶段有三个问题是比拟有代表性:
(1)很多公司线下做了性能测试,但到了线上还是存在很多问题,以测试环境的压测后果来评估线上环境,成果不佳。
(2)业务增长、营销流动减少使测试工程师对流动保障心里没底,每逢营销流动问题频发影响公司形象。
(3)性能压测效率无奈满足增长的性能压测需要,导致局部我的项目没有性能压测间接上线,线上故障频发。
为了解决测试环境性能压测的不确定性,性能压测开始向生产环境进行演变,进入生产环境性能压测阶段。

3. 生产只读业务压测阶段
在测试环境回归体系阶段上减少了生产只读业务的性能压测,对生产环境压测进行实际,搭建生产环境性能压测回归体系,具备只读业务生产压测的性能问题剖析能力。
4、全业务全链路压测阶段
在上一个阶段的根底上减少写入业务的性能压测,进而发展对全业务履行全链路压测,具备全业务的性能压测能力、问题定位能力,做的更好一些还会减少零碎防护能力,比方降级、限流、故障演练等。

为什么要开源?

正如数列科技 CEO 曹学锋在承受 InfoQ 专访时示意“咱们开源 Takin 的初衷其实很简略,就是想让更多的企业用上好的产品,帮忙企业提供更好的用户服务体验,开释更多的精力去拓展业务。置信大家的应用反馈对于产品自身的倒退迭代也是具备正向作用的,互惠互利实现良性循环。”
目前大多数企业仍在应用传统的性能压测形式,但随着分布式、微服务架构的倒退,这种形式曾经无奈满足零碎性能的保障,数列科技决定把这款生产环境全链路压测产品开源进去并正式命名为 Takin。
当然 Takin 要做的不止于此,开源最大的个性在于凋谢容纳与翻新。心愿产品开源能以凋谢的工作形式激发技术创新,吸引更多业界优良的开发人员退出到生产环境全链路压测技术的共创团队中,让技术更落地,连贯不同的应用场景。

什么是 Takin?

Takin 是基于 Java 语言开发的一套生产全链路压测的零碎,能够在无业务代码侵入的状况下,嵌入到各个应用程序节点,实现生产环境的全链路性能测试,实用于简单的微服务架构零碎。

Takin 具备以下 4 个特点:
(1)业务代码 0 侵入:在接入、采集和实现逻辑管制时,不须要批改任何业务代码;
(2)数据安全隔离:能够在不净化生产环境业务数据状况下进行全链路性能测试,能够在生产环境对写类型接口进行间接的性能测试;
(3)平安性能压测:在生产环境进行性能压测,对业务不会造成影响;
(4)性能瓶颈疾速定位:性能测试后果间接展示业务链路中性能瓶颈的节点。

Takin 开源了哪些内容?

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

GitHub 开源地址如下:
Takin:https://github.com/shulieTech/Takin
开源社区:https://news.shulie.io/?p=3024(理解具体操作文档)

将来任重而道远,秉承着帮忙企业解决微服务架构治理及性能问题的初心,Takin 能够较大水平地帮忙企业降低生产全链路压测平台的开发难度,真正做到为更多企业零碎的性能和稳定性提供保障。
数列衷心希望 Takin 能和业界携手,共建更残缺、更标准化的生产全链路压测生态圈。

直播预报:
6 月 25 日早晨 7 点半,数列两位创始人震南战争威将在两场直播中为大家答疑解惑,感兴趣的小伙伴能够扫码进群,当初进群开播有揭示,还有 iphone12 等你来领哦!

退出移动版