你觉得HTTP最香是因为你还不知道RPC

我在动手写 RPCg 这个”框架“之前看了大量的文章阐述 RPC 与 HTTP,这篇文章是比较不错的一篇,我翻译过来和你分享一下 :)

REST vs. RPC你要使用API去解决什么问题?

有一则关于这个农民的笑话,他被问到”为什么他要尽量避免耕种出‘童话环’的形状“,他回答道,”因为如果我不那么做,我就会变成傻子“。(第一段的引用故事可暂时不关注)。

许多人关于他们自己构建的 APIs 会说同样的话,事实上,去思考一下你要用你的 APIs 去解决什么问题这非常重要,因为你所创建的 API 的风格和你所使用的技术都依赖于你上面的回答。

根据调用

自从 FORTRAN Ⅱ 在1958 年提出调用(也叫函数)这个概念,函数(调用)就一直是组织计算机代码的主要结构。所有现在主流被用来构建和使用 API 的编程语言例如 Java,Javascript, Python, Golang, C/C++ 和 PHP 都使用调用(也就是函数)来作为他们的主要组织结构。因此这数十年来”函数调用“以远程过程调用(RPC) 的形式称为设计和实现分布式 API 的主要模型也就不足为奇了。

如果你要问大多数软件开发者为什么要定义和构建 API,他们可能会解释说他们有个应用,它需要实现多个分布式组件,并且这些组件之间可以互相调用,来使整个应用程序正常运行。他们也可能说需要实现由多个应用程序使用的服务 API。



RESTRPC

39 Words

2020-11-10 21:30 +0000