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