【发布时间】:2010-12-19 03:37:52
【问题描述】:
我们有三个 Web 服务(/a、/b、/c),其中每个服务映射到一个单独的 Java 类(ClassA、ClassB、ClassC)中的一个方法(go()) )。
只能同时运行一项服务(即:/b 不能在 /a 运行时运行)。然而,由于这是一个 REST API,因此没有什么可以阻止客户端请求同时运行的服务。
在服务器上强制服务不同时运行的最好和最简单的方法是什么?
更新:这是一个内部应用,我们不会有很大的负载,只有一个应用服务器。
更新:这是一个主观问题,因为您可以对影响最终答案的一般应用程序设计提出不同的论点。接受了过度思考的答案,因为我发现它最有趣且最有帮助。
【问题讨论】:
-
@Marcus:它很可能是一个内部应用程序,但在这个阶段设计具有内置限制的东西是一个坏主意。您可能认为它永远不需要扩展,但您能确定吗?以后不用再头疼了,坚持一些最佳做法!
标签: java web-services api rest concurrency