美文网首页
dataTool+Spoon

dataTool+Spoon

作者: jaymz明 | 来源:发表于2020-12-30 15:53 被阅读0次

最近大家好像都在上线data population tool工具。以前大家的想法都很简单,直接将用户的数据dump下来(以前还听到用户直接将硬盘拔下,然后人工运动到另一个地方插上),插入到数据库中,来模拟真正的客户场景进行测试或者压测。但是随着GDPR或者种种安全限制,这种做法基本不可取。
为什么要做data population tool?
如果产品受众单一,稳定,架构不是很复杂。那么完全可以通过撑大数据库来达到目标。但是针对于平台产品,目标受众众多,客户的使用场景不尽相同。单一的靠数据量来进行压测,结果并不可靠。数据分布维度考量同样重要。
综合以上想法,组合了一套“拳法”:dataTool+Spoon。


image.png

dataTool基本功能可以用来根据设定的field,根据设定的简单rule(类型,长短,正则等)快速生成csv文件。最高条数100,000,000。未来还是需要高度定制下,进一步扩展数据分布,比如我的订单状态(active/close)的比例等等。

{
  "fields": [
    {
      "name": "entityType",
      "type": "string",
      "nullable": false
    },
    {
      "name": "title",
      "type": "string",
      "nullable": false
    },
],
"constraints": [
    {
      "field": "entityType",
      "equalTo": "Request"
    },

    {
      "field": "title",
      "shorterThan": 15
    }
}

执行的时候也是用@CommandLine.Command进行包装,保证工具可以通过命令行进行执行,也方便未来集成到CI中去。
数据生成部分搞定,那么数据的清洗和插入就选用了Spoon。
说到Spoon,刚工作那会就接触到了,当时主要用来对接不同数据源,拉取报表。这次用它来进行数据解析和发送request。


image.png image.png

加载上述生成的csv文件,简单的用java进行处理拼接header和body,然后用http组件进行发送。每发送成功之后,并对返回结果进行解析,确保数据正常写入到数据库中。流程清晰简单,依赖是用变量来进行处理。不过遇到了内存溢出的问题,所以变量的池子也不能太大。当然这些准备都是为了能够上CI自动化进行准备的。不过好处在于学习成本低,可维护性强。

相关文章

  • dataTool+Spoon

    最近大家好像都在上线data population tool工具。以前大家的想法都很简单,直接将用户的数据dump...

网友评论

      本文标题:dataTool+Spoon

      本文链接:https://www.haomeiwen.com/subject/usjhoktx.html