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