一、为什么要治理服务契约?
在日常工作中发现契约导致的沟通问题很多。另外由于契约定义不严谨,导致线上Bug的出现也时有发生。比如忽略字段长度,导致数据落库失败。由点到面梳理问题如下表:
问题 | 开发阶段 | 测试阶段 | 运行阶段 | 后期迭代 |
---|---|---|---|---|
契约不严谨 | 1.增加了开发人员的理解成本 2.增加了契约相关方的沟通成本 3.这种情况下,再缺少沟通的话,各相关方按照自己的理解开发导致后期联调成本增加。 | 1.增加了测试人员的理解成本 2.增加了测试与开发的沟通成本 | 服务不健壮 | 1.增加了产品的理解成本 2.增加了产品与开发的沟通成本 |
服务契约与文档契约不一致 | 1.增加了联调成本 2.导致联调时某一方的返工 | 1.增加测试与开发的沟通成本 2.导致测试用例的返工 | 服务不健壮 | 1.增加了产品的理解成本 2.增加了产品与开发的沟通成本 |
契约改动通知不到位 | 1.增加了联调成本 2.导致联调时某一方的返工 | 1.增加测试与开发的沟通成本 2.导致测试用例的返工 | 线上故障 | |
契约信任 | 1.契约验证开发成本 2.契约验证维护成本 | 契约相关的测试成本 |
另外,还存在职责问题,例如:
服务提供者的问题,被客户端发现。而客户端对这种非自身问题关注是不够的,导致问题不被重视。
二、怎么治理服务契约呢?
服务契约的治理是一个工程性问题,本着规范流程,固化最佳实践的目的,设计如下:
三、治理什么?
一个健壮契约的元数据:
协议
结构
类、数组
文本、数字、布尔、时间
约束
基元类型
复杂类型
四、支撑该设计的原则
契约先行
问题尽早发现
谁的问题谁发现
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦