我正在尝试更多地了解 REST 并尝试了解分层系统在 REST 架构中的含义。据我所知,这意味着如果 API 有数据库,它应该在不同服务器上的不同机器上,并且 api 在需要时调用它。与业务逻辑相同,如果调用应该通过某个逻辑调用被转移到某个其他服务器并在那里执行。这也将有助于解决性能问题(如果存在)。我对吗?请提供任何其他信息
最佳答案
好吧,我不会认为分层系统是“每一层都必须驻留在单独的服务器中”。它更多的是关注点的分离,即每一层都应该有一个单一的高级目的,并且只处理那个。
我将尝试用一个错误的例子来更好地解释:
@GET
public String myService() {
return "<html><body><div>HELLO</div></body></html>";
}
在这里,您将服务层和表示层混合在一起。反而,
服务应该只返回“HELLO”,而客户端(我假设这里是一个表示层)应该能够决定如何表示数据。
最常见的架构之一是所谓的 3 层架构,其中
您可以访问数据、业务逻辑和演示文稿。服务可以作为单独的层添加,最常见的是在业务逻辑和表示之间(以便您可以将相同的业务逻辑应用于不同的客户端,例如 Web 和移动)。
关于web-services - REST API 中的分层系统约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303116/