1

我们都在轻松谈论 REST 的扩展——我们可以添加节点以水平扩展,因为没有状态——这意味着没有会话复制、没有会话亲和性等等。

我的问题是:为什么即使在有状态的应用程序中,我们也不能通过集群实现这种扩展?我还要补充一点,我的重点只是扩展——我不担心节点故障会导致数据丢失或会话注销等——所以,让我们说,我不需要任何会话复制/缓存。

那么,与毕竟可以集群以帮助水平扩展的有状态传统应用程序相比,无状态 RESTful 应用程序有什么好处呢?

4

1 回答 1

2

并不是你不能扩展有状态的应用程序,而是它更难,而且可能出错的地方更多。为了共享状态,您必须在所有服务器之间引入更多通信。使用无状态设计,您只需添加更多服务器,它们不需要相互交谈,甚至不需要相互了解。任何曾尝试扩展关系数据库以确保所有节点之间的数据一致性的人都可以证明所涉及的麻烦。

于 2013-10-18T08:09:25.207 回答