我总是看到,选择RESTful架构的一个原因是(尤其是)具有高负载的Web应用程序的更好的可扩展性.
这是为什么?我可以想到的一个原因是,由于每个客户端的定义资源是相同的,所以缓存变得更容易.在第一个请求之后,从memcached实例提供后续请求,该实例也可以很好地水平放置.
但是,您是否也可以使用传统的方法来完成此操作,其中动作在URL中进行编码,例如(booking.PHP /用户id = 123&安培; travelid = 456&安培; foobar的= 789).
解决方法
REST的一部分确实是URL部分(它是REST中的R),但S对于缩放比较重要:state.
REST的服务器端是无状态的,这意味着服务器不必在请求之间存储任何东西.这意味着不必在服务器之间进行(多)通信,使其水平可扩展.
当然,在R(代表性)中有一个很小的优点,如果你有漂亮的URL,负载平衡器可以轻松地将请求路由到正确的服务器,而GET可以在POST到主服务器时访问一个从服务器.