如果这几乎是一个“讨论”问题,请原谅我,但我真的很感激是/否的答案,并有适当的解释。
假设你必须为机器人设计和实现一个控制 API,比如下一代火星探测器。您是根据 RESTful 原则构建此 API,还是使用经典的 RPC,例如 XMLRPC?
我问这个是因为我必须做类似的事情,尽管“机器人”是虚拟机的集合。一位颇有说服力的工程师(一位著名的 REST 倡导者)敦促我让 API 成为 RESTful。我从未使用过 REST 原则,并且我正在努力了解它们如何适合设计低级进程间 API。REST 似乎融入了与可修改的数据存储库交互的主题,通常距离很远。我正在尝试做的事情更像是在密切控制一个机器人。我可以看出人们如何争辩说,抽象地说,机器人只是一个数据存储库——“PUT 左转”、“PUT 行进 100 米”、“获取外部温度”。但这似乎是一个相当做作的模型。我当然不会从缓存或代理中获得任何好处(“你好,喷气推进实验室?这是堪培拉的 Akamai co-lo。我们现在要接管 Rover,好吗?”)
那么,RESTful 架构在这里有用吗?即使交互如此狭窄,它仍然优于 RPC 吗?