• 坎坷的 2020 年 at 2021年01月01日

    http 转发就是用 go 和 python 的客户端,转发是为了解决拼接消息体麻烦的痛点。
    另外也封装 http 查询 redis,hbase 这些接口,这样一来就可以通过 http 接口的方式实现业务流的自动化了。

  • A:我这个邮箱是假的,爱信不信。
    B:A 一定是真邮箱,我向你保证。
    C:反正真邮箱不是我的,不信的话就投我吧。
    D:B 是真邮箱,刚刚我听到老板说了,千真万确。

    排除 + 假设

    • A 和 B 说话矛盾,说明 A 和 B 一定有一个人是说了真话
    • 因此,C,D 就肯定是假的
    • 因为 D 说了假话,那么 B 就是假邮箱
    • 假设 B 说的是真话,那么 A 邮箱是真的,也就是 A 说了假话。
    • 综上所述,即 ACD 说了假话,B 说真话。符合题意的三个人说假话,一个人说真话。可得假设成立
    • 搞定😏
  • 优秀,反正也就 4 个答案,暴力枚举即可,无需花里胡哨的

  • locust + boomer,可以试试这个组合

  • @simple 申请开通个人专栏,谢谢~
    提个小建议,是否可以在这个地方新增一个申请开通专栏的入口~

  • json 只是保存到数据库,实际上在前端界面化展示了,去在线 demo 看看就知道啦

  • 你本身就做得不错了。
    我主要是细节和使用方便的优化,比如说那个提取返回值,增加了自动生成。
    加了访问量统计,用户 token 改成 jwt,用户权限管理,限制普通用户不能删除项目,搜索改成监听的方式,不需要每次都点击,api 和用例的目录移动等等

  • 需要提前下载好腾讯会议哦~

  • 我也试过你不推荐的方式来做,按照开发给出的流程图实现一遍,不过是 python 实现的。
    最后相比 diff python 计算的结果和 Flink 输出的结果。
    好处是:对需求的理解更加透彻,并且能够反思一遍用例是否覆盖到位。
    缺点是:要写用例,还要实现功能,比较耗时。开发给出的流程图可能和实际逻辑实现有出入,需要反复沟通,沟通成本略高。

    后续找机会试试拆分算子测试的方式~
    感谢分享,期待下一篇~

  • 我们这个需要关注消息的内容,所以才会有上面那些处理消息的函数,自带的压测工具可能就满足不了。
    昨天也试了多线程,确实能够显著提高并发。现在这个能满足需求,并且继承到了测试平台,研发和测试随时都能调用。

  • 多开几个线程,速度还是很猛的

  • 发邮件记得说清楚地区哦

  • 另外想问一下,Flink 是怎么实现自动化部署的,我们目前 Flink 是运行在 Yarn 集群上面,发布的时候需要人工先保存中间值,然后再启动。

  • 我现在的做法是实现一个执行 sql 的接口,然后把执行结果抽取出来和要验证接口的响应值对比。

  • 用例管理平台 at 2020年12月18日
    rikasai@huacainoMacBook-Pro CaseManager % npm fund
    Error: ENOENT: no such file or directory, uv_cwd
        at process.wrappedCwd (internal/bootstrap/switches/does_own_process_state.js:129:28)
        at process.cwd (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:10:19)
        at Conf.loadPrefix (/usr/local/lib/node_modules/npm/lib/config/load-prefix.js:46:24)
        at load_ (/usr/local/lib/node_modules/npm/lib/config/core.js:109:8)
        at Conf.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/core.js:96:5)
        at Conf.emit (events.js:315:20)
        at ConfigChain._resolve (/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js:281:34)
        at ConfigChain.add (/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js:259:10)
        at Conf.add (/usr/local/lib/node_modules/npm/lib/config/core.js:338:27)
        at Conf.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/core.js:314:25)
    internal/bootstrap/switches/does_own_process_state.js:129
        cachedCwd = rawMethods.cwd();
                               ^
    
    Error: ENOENT: no such file or directory, uv_cwd
        at process.wrappedCwd (internal/bootstrap/switches/does_own_process_state.js:129:28)
        at process.cwd (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:10:19)
        at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:181:30)
        at process.emit (events.js:315:20)
        at process._fatalException (internal/process/execution.js:169:25) {
      errno: -2,
      code: 'ENOENT',
      syscall: 'uv_cwd'
    }
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    rikasai@huacainoMacBook-Pro CaseManager %
    
  • 用例管理平台 at 2020年12月18日

    加了代理,还是一直下载不了依赖,很奇怪。

    cnpm 也不行

  • 嗯嗯,这个应该能解决一部分问题。计算结果有部分是通过 kafka 发出去的,存在 redis 的部分应该能这么搞

  • 这个不科学的,不能因为迟到的一点数据而让整体跟着延迟,就算是可以,中间值也会非常大,吃完了内存。😂

  • 要求还蛮高,计算结果会在厂家的大屏上显示。
    延迟一般都是硬件故障导致的,目前还想不到很好的办法。延迟的消息只能直接在 filter 过滤了,不会计算,所以影响不了当前的计算结果。

  • 消息里面有 eventtime,但是有些消息相隔几个小时,甚至几天再上来。因为消息是从硬件开始上报 mqtt,再转 kafka 的。

  • 文章写得很棒!特别是 checkpoint 的部分。
    发现个小问题,wordCount 的例子缺少了 try catch,Flink 算子有个很坑的点,一旦没捕捉异常,就会一直重启。
    流式计算依赖消息的顺序性,要是消息不能保证顺序,这个点就很蛋疼。
    我们用 Flink 做实时计算,同时还把 Kafka 持久化到 Hbase,实时计算出现偏差时,再用 Spark 去离线重算一遍。

  • 1.有,解决公司现存问题的工具就是好工具
    2.亲自执行一遍测试工作流
    3.肯定是 web,因为浏览器每个人都有,并且更新后所有人只需要刷新页面就能同步到最新功能。

  • 这错别的地方有点多啊
    2020.12 月?
    收货?
    下层?

  • 试了各种方式传参,终于搞定了~~

    # 方法签名
    public PageModel<ShiftStopInfo> queryByPage(PageModel<ShiftStopInfo> pageModel, StopSearchParam searchParam);
    

  • 想问一下泛型,还有实体参数的时候,应该怎么入参

    queryByPage(Listl<Msg> listMsg, SearchParam sp)