Web服务实现设计

时间:2014-03-21 03:02:54

标签: web-services design-patterns

我正在编写Rest Web Services。 我不擅长设计。 目前我想知道服务处理程序应该是单例还是静态。

@RequestMapping(value="/{input}" ,method=RequestMethod.GET)
public String getOutput(@PathVariable String input){

ResourceRestService.getInstance().outPutService().getOutput(input);
}

在这种情况下,使用ResourceRestService或OutputService的单例实例是否正确? 当请求数量增加时是否会导致任何性能开销,如果是,则解决方案应该是什么?

2 个答案:

答案 0 :(得分:0)

您所做的是标准,没有问题。由于它是单例且非线程安全的,因此该类不应该维护状态,它所要做的就是获取请求并发送响应。如果请求数量增加,您可能必须使用集群环境(apache mod_jk等)

答案 1 :(得分:0)

你的服务方法不应该是一个单身人士,除非你特别需要你这样做以便在线程安全的情况下如此,

你应该把它变成静态的。

当没有任何请求增加时,您可能需要考虑许多场景进行扩展,非详尽列表如下所示 1.是由于数据库层吗?没有记录,数据库性能等等 2.是否由于服务层?由于各种原因在服务层进行处理 3.是否由于服务器功能?最多可以处理的请求

等......