0

当他们说休息服务规模化时,究竟是什么意思?

假设我有一个集群环境,其中包含我的应用程序的多个实例,它为某些资源公开了一个休息服务。为什么 REST 服务的扩展性比传统的 Web 服务好?

谢谢

4

1 回答 1

3

正确应用 REST 后,由于多种原因,REST 可以很好地扩展:

  1. 分布式系统的主要可扩展性问题之一是将应用程序状态存储在服务器端并保证所有节点的一致性和可用性。由于是无状态的,您无需担心存储,并且服务器之间没有大量通信,水平扩展更容易。节点可以随意添加和删除,任何节点都可以响应任何请求。

  2. 使用统一的接口,客户端可以更优雅地处理服务器端的更改,并且更容易部署有助于可扩展性的更改。许多开发人员通常准备好部署许多改进,但必须等待客户适应这些更改并不会破坏一切。

  3. 此外,通过超媒体,可以更轻松地在不同服务之间透明地引导客户端,从而更容易分离关注点,根据需求扩展每个部分,并使用更适合特定类型资源的服务器。

  4. REST 要求资源显式声明其可缓存性,并且在使用超媒体时,不仅鼓励而且经常需要积极缓存。良好的缓存策略可以显着提高您的可伸缩性。

但应该清楚的是,REST 很少能解决可伸缩性问题。REST 是针对服务长期演进中涉及的问题的解决方案。如果这不是您主要关心的问题,您可以采用一些想法来提高可伸缩性,而不必严格遵守 REST。

于 2013-11-10T14:44:16.673 回答