TDD is dead, again(2)

发表于:2017-03-06来源:知乎作者:陶文点击数: 标签:tdd
线下开发问题。因为开发还是在线下的,没有办法从线上引流,以及直接利用线上的环境。导致开发阶段很难去跑业务逻辑,本地验证新写的代码。从质量

  • 线下开发问题。因为开发还是在线下的,没有办法从线上引流,以及直接利用线上的环境。导致开发阶段很难去跑业务逻辑,本地验证新写的代码。从质量保证的角度来说,小流量和开关是足够的。从效率地角度和开发者幸福感方面,仅仅上线才可以验证自己的代码是远远不够的。
  • 灰度和开关都是拿用户做小白鼠,是有损的。这就决定了,使用必须很谨慎,开得很慢。速度受到影响。
  • 各种日志,服务发现,影子表等技术,都是需要侵入代码的。对于混合语言的公司来说,成本很高。而且每个公司的基础架构都在重复解决类似的问题。

所以我的判断是

  • 将来软件开发会越来越往在线的方向发展。用在线的流量,在线的环境去验证新写的代码变得越来越方便。
  • proxy会越来越普遍。随着硬件的进步,跨进程通信的成本越来越低。各种基础架构问题会逐步地以代理地方式解决。

这些包裹在业务逻辑外面的proxy可以把以下问题给通用地解决掉

  • 服务发现
  • 高可用
  • 流量调度
  • 日志记录
  • 监控埋点
  • 流量捕捉
  • 流量回放
  • 测试流量读写影子表

业务逻辑里唯一需要做的事情是上下文传递。需要把当前流量性质和trace_id做一个上下文的透传。

原文转自:https://zhuanlan.zhihu.com/p/25518867