海鲁姆定律:API设计与管理的意义

海鲁姆定律:API设计与管理的意义

时间:2021-3-5 作者:admin

松耦合的前景与挑战

原料药应该建立在松耦合-服务提供者和消费者具有更大的独立性和发展自主权。这种方法的明显优点是它需要更少的时间协调,从而允许提供者和消费者独立发展。

然而,独立增长带来的风险增加了破变。现有的API使用者是否必须适应每一项开发?或者他们可以继续在未改变的状态下使用API吗?

设计具有扩展性的API将有助于解决这个问题。可扩展的API将继续增长,同时对所有当前和以前的用户仍然是可访问的。

海鲁姆定律:API的墨菲定律

海鲁姆定律是以谷歌软件工程师海鲁姆·赖特的名字命名的。对于不熟悉的人来说,墨菲定律指出,如果某件事可能出错,它就会发生。类似地,Hyrous定律表明,即使您为扩展性而设计API,具有许多活动用户的API也可能会依赖于错误的方面。海鲁姆定律说:

有足够数量的API用户,无论您在契约中承诺了什么:您的系统的所有可观察的行为都将取决于某个人。

这是一种利益冲突。API通过它的使用来创造价值,所以更多的用户会增加它的价值。然而,HyrousLaw认为,随着越来越多的用户采用API,它将经历更多的变化。这将对整个用户群产生负面影响,理论上,这些用户不应该受到个人更改的影响。

这次又是什么?

这会给我们留下什么?我们希望为用户提供统一和一致的体验,但我们仍然希望松耦合。谷歌依赖于一种非常复杂的解决方案,它使用整个代码库(可在一个单一存储库中获得),并创建了为API提供者和消费者服务的工具。

虽然对于大多数其他开发人员和架构师来说,Google的规模和完善可能是不切实际的目标,但他们的策略和方法仍然提供了一个有趣的案例研究,可能会在较小的范围内激发类似的策略。

如果你对更多的背景感兴趣,更仔细地看看Google做了什么,请看下面与HyrouWright的对话,了解更多关于HyrousLaw的知识,Google如何应对它所带来的挑战,以及最近出版的一本书“谷歌的软件工程:随着时间的推移从编程中吸取的教训”(泰特斯·温特斯,汤姆·曼舍克和海鲁姆·赖特,2020年3月,O‘Reilly).

如果你喜欢这个视频,你为什么不查看Erik的YouTube频道,了解更多“让API工作”的内容?

如果你想需要软件开发,可以点以下链接进行询问

版权所有:https://www.eraycloud.com 转载请注明出处