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等你来领哦!

更多精彩内容

????618大促又来了?3天2次大事故,不堪回首的加班经历……

????为什么持续提升性能这么难?这次终于有人给答案了……

????春节红包活动如何应对10亿级流量?看看大佬的复盘总结

????企业云迁移暗藏风险,1人如何扛起性能测试大旗?

????高可用DevHa实践,告诉你生产环境0性能故障是如何做到的!

关于数列

数列科技成立于2016年,是国内领先的系统高可用专家,由多名阿里巴巴资深专家发起成立。旨在以解决微服务架构治理及性能问题为核心,为企业系统的性能和稳定性提供全方位保障,构建了覆盖全链路压测、E2E巡检、故障演练等多模块的完整产品矩阵,致力于帮助企业将系统可用性提升至99.99%。

【阅读原文】了解详细信息

首个生产环境全链路压测平台Takin正式开源相关推荐

  1. 性能测试利器工具来了,生产环境全链路压测工具

    国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为Takin. 目前顺丰科技.希音.中通快递.中国移动.永辉超市.爱库存.浙江大学等50+行 ...

  2. 推荐一款国内首个开源线上全链路压测平台

    关注上方"测试开发技术",选择星标, 干货技术,第一时间送达! 开课通知:重磅消息 | 2021年最新全栈测试开发技能实战指南(第2期) 前不久国内知名的系统高可用专家数列科技宣布 ...

  3. 全链路压测平台(Quake)在美团中的实践

    背景 在美团的价值观中,"以客户为中心"被放在一个非常重要的位置,所以我们对服务出现故障越来越不能容忍.特别是目前公司业务正在高速增长阶段,每一次故障对公司来说都是一笔非常不小的损 ...

  4. 高德地图全链路压测平台TestPG的架构与实践

    高德地图:全链路压测平台TestPG的架构与实践 转自  https://www.sohu.com/a/341414025_692515 1. 导读 2019年以来,高德DAU一个亿进入常态,不断增长 ...

  5. 高德全链路压测平台TestPG的架构与实践

    导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的 ...

  6. 全链路压测:影子库与影子表之争

    01 业界盛传的全链路压测是什么 Aliware 全链路压测诞生于阿里巴巴双 11 备战过程,如果说双 11 大促是阿里业务的"期末考试",全链路压测就是大考前的"模拟考 ...

  7. 分布式系统如何做好全链路压测?

    随着互联网的发展,各行业均在大力开展数字化转型,这意味着传统线下服务均在整体线上化,各行业信息系统都在像互联网行业一样面对流量洪峰的压力.所以各行业IT系统均开始利用分布式架构增强系统应对流量洪峰的压 ...

  8. 全链路压测体系建设方案的思考与实践

    在阿里淘宝 双11 的过程中,长期以来都是在生产环节做全链路压测的,通过实践我们发现在生产环境中做压测,实际上会和一个 IT 组织的结构.成熟度.流程等紧密相关,所以我们把全链路压测从简单的制作范围内 ...

  9. 阿里巴巴:全链路压测体系建设方案的思考与实践

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 在阿里淘宝 双1 ...

最新文章

  1. rmdir删除文件报Permission denied in 错误
  2. 26、Power Query-日期与时间数据处理实例(统计出某年各月各周的借书人数)
  3. [资料]有关MS SQL 2000安全问题
  4. JAVA的WebService规范JAX-WS
  5. Java后台获取前端传递的日期解析不了
  6. 查看Centos7系统参数和机器参数
  7. 二叉树的遍历:前序、中序、后序、层次遍历(仅例题)
  8. JAVA中常用的逻辑运算符_Java中常用的运算符
  9. 如何在Red Hat Linux上安装和配置FreeIPA
  10. SQLServer 维护脚本分享(05)内存(Memory)
  11. html5 超链接 图像映射,链接图像
  12. cad怎么表示出一个孔_怎么训练出一个NB的Prophet模型
  13. Git:git如何拉取指定分支到本地
  14. vs2017安装和使用教程(详细)
  15. linux查看md5值
  16. java从本地下载pdf文件_java下载PDF文件
  17. charrnn 诗歌_代码不是诗歌,它只是代码
  18. 透过华为军团看科技之变(五):智慧园区
  19. 读文献——《Deep Residual Learning for Image Recognition》
  20. 西安80转2000坐标参数_!!!西安80坐标与地方坐标系的转换方法技巧

热门文章

  1. raid读写速度对比_RAID5和RAID1的读写速度对比大概是多少
  2. 如何轻松审核通过马甲包
  3. 让图文不可复制、转载注明出处
  4. 管理者应该会讲的68个超级经典小故事
  5. 一道亚马逊算法面试题的情景分析
  6. NetSuite SuiteAnalytics 高级搜索 全课程中文学习视频
  7. AWS Re: Invent 2021 新CEO Adam 都讲了些什么
  8. NODEMCU 固件编译
  9. php下载视频文件怎么打开,后缀名为php的视频文件用什么播放器?
  10. HQChart使用教程68 - 配置DRAWTEXT, DRAWICON, DRAWNUMBER字体大小