我正在尝试更多地了解rest,并试图理解分层系统在rest架构中的含义。据我所知,这意味着如果API有数据库,它应该在不同的机器上不同的服务器和API调用它时需要。与业务逻辑相同,如果调用应该通过某些逻辑调用,则将其转移到其他服务器并在那里执行。这也有助于解决存在的性能问题。我说的对吗?请提供更多信息
我不认为分层系统是"每一层必须驻留在单独的服务器上"。它更多的是关于关注点的分离,即每一层都应该有一个单一的高层目的,并且只处理这个目的。我将尝试用一个错误的例子来更好地解释:
@GET
public String myService() {
return "<html><body><div>HELLO</div></body></html>";
}
这里,服务层和表示层都混在了一起。相反,服务应该只返回"HELLO",而客户端(我假设这里是一个表示层)应该能够决定如何表示数据。最常见的体系结构之一是所谓的三层体系结构,其中您拥有数据访问、业务逻辑和表示。服务可以作为一个单独的层添加,最常见的是在业务逻辑和表示之间(这样你就可以将相同的业务逻辑应用到不同的客户端,例如web和移动端)。