庆祝中国共产党成立100周年
已有483人围观 来源:高可用架构 发布于:2021-06-25 11:48:05

6月25日,国内著名的体系高可用专家数列科技宣布开源旗下核心产品才能,对外开放生产全链路压测平台产品的源代码,并正式命名为Takin。

目前中国人寿、顺丰科技、希音、中通快递、中国移动、永辉超市、爱库存、浙江大学等50+行业头部公司都采取了该技巧,10万+探针同时线上运行,每天实时处置数百亿条用户要求,生成数百TB链路数据。目前,该项目已在Github上宣布,作为全球首款开源的全链路压测平台,Takin的开源将为更多企业供给超低门槛、超低成本、超高效力的性能保障才能。


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

全链路压测是一种应用最低成本,使体系到达最肯定的性能目的的办法,能够保障业务的连续性,让IT体系具备反软弱才能和迅速定位问题才能。

IT体系是工程师联合具体的业务场景基于一系列的基本组件进行编码搭建而成的,基本组件本身的局限性,以及代码的不肯定性,会使全部体系存在很大的不肯定性,这种不肯定性会让体系在面临一系列“风险”场景(高峰场景)时,表示得很软弱,那该如何让体系具备反软弱才能呢?

通过生产环境全链路压测,真实模仿“风险”业务行动场景,实时监控体系表示,提前辨认和迅速定位体系的中的不肯定因素,并对不肯定因素进行处置,优化体系资源配比,应用最低硬件成本,使体系从容面对各种“风险”场景,到达预期的体系性能目的。通过这种办法,在生产环境上落地常态化稳固压测体系,实现IT体系的长期性能稳固治理。

性能测试阅历了从线下到线上演化的四个阶段:

1
需求驱动压测阶段
需求驱动压测,大多采取简略的工具进行单接口或者单体系压测,也能进行一些简略的性能问题剖析,但很多时候都没有专门的测试团队,须要开发进行自主压测。
2
性能回归体系阶段
组建专门的性能测试团队搭建线下性能测试质量平台,具备庞杂场景全链路压测才能、性能问题定位才能。
在这一阶段有三个问题比拟有代表性:
  • 很多公司线下做了性能测试,但到了线上还是存在很多问题,以测试环境的压测成果来评估线上环境,后果不佳。
  • 业务增长、营销运动增长使测试工程师对运动保障心里没底,每逢营销运动问题频发影响公司形象。
  • 性能压测效力无法满足增长的性能压测需求,导致部分项目没有性能压测直接上线,线上故障频发。
为懂得决测试环境性能压测的不肯定性,性能压测开端向生产环境进行演化,进入生产环境性能压测阶段。
3
生产只读业务压测阶段
在测试环境回归体系阶段上增长了生产只读业务的性能压测,对生产环境压测进行实践,搭建生产环境性能压测回归体系,具备只读业务生产压测的性能问题剖析才能。
4
全业务全链路压测阶段
在上一个阶段的基本上增长写入业务的性能压测,进而开展对全业务实施全链路压测,具备全业务的性能压测才能、问题定位才能,做的更好一些还会增长体系防护才能,比如降级、限流、故障演练等。

为什么要开源?
正如数列科技CEO曹学锋在接收InfoQ专访时表示“我们开源Takin的初衷其实很简略,就是想让更多的企业用上好的产品,赞助企业供给更好的用户服务体验,释放更多的精神去拓展业务。信任大家的应用反馈对于产品本身的发展迭代也是具有正向作用的,互惠互利实现良性循环。
目前大多数企业仍在应用传统的性能压测方法,但随着散布式、微服务架构的发展,这种方法已经无法满足体系性能的保障,数列科技决议把这款生产环境全链路压测产品开源出来并正式命名为Takin。
当然Takin要做的不止于此,开源最大的特征在于开放包容与创新。愿望产品开源能以开放的工作方法激发技巧创新,吸引更多业界优良的开发人员参加到生产环境全链路压测技巧的共创团队中,让技巧更落地,衔接不同的应用处景。

什么是Takin?
Takin是基于Java语言开发的一套生产全链路压测的体系,可以在无业务代码侵入的情形下,嵌入到各个运用程序节点,实现生产环境的全链路性能测试,实用于庞杂的微服务架构体系。
Takin架构图
Takin具备以下4个特色:
(1)业务代码0侵入:在接入、采集和实现逻辑掌握时,不须要修正任何业务代码;
(2)数据安全隔离:可以在不污染生产环境业务数据情形下进行全链路性能测试,可以在生产环境对写类型接口进行直接的性能测试;
(3)安全性能压测:在生产环境进行性能压测,对业务不会造成影响;
(4)性能瓶颈迅速定位:性能测试成果直接展示业务链路中性能瓶颈的节点。
Takin界面

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

GitHub开源地址如下:

Takin:

https://github.com/shulieTech/Takin

开源社区:

https://news.shulie.io/?p=3024(懂得详细操作文档)


未来任重而道远,秉承着赞助企业解决微服务架构治理及性能问题的初心,Takin可以较大水平地赞助企业下出世产全链路压测平台的开发难度,真正做到为更多企业体系的性能和稳固性供给保障。
数列衷心愿望Takin能和业界携手,共建更完全、更尺度化的生产全链路压测生态圈。

直播预告:
6月25日、6月26日晚上7点半,数列两位开创人震南和平威将在两场直播中为大家答疑解惑,感兴致的小伙伴可以扫码进群,现在进群开播有提示,还有iphone12等你来领哦!
更多出色内容