Web services webservices实现设计
我正在写一个RESTWeb服务。 我不擅长设计。 目前我想知道服务处理程序应该是单例的还是静态的Web services webservices实现设计,web-services,design-patterns,Web Services,Design Patterns,我正在写一个RESTWeb服务。 我不擅长设计。 目前我想知道服务处理程序应该是单例的还是静态的 @RequestMapping(value="/{input}" ,method=RequestMethod.GET) public String getOutput(@PathVariable String input){ ResourceRestService.getInstance().outPutService().getOutput(input); } 在这种情况下,使用Resourc
@RequestMapping(value="/{input}" ,method=RequestMethod.GET)
public String getOutput(@PathVariable String input){
ResourceRestService.getInstance().outPutService().getOutput(input);
}
在这种情况下,使用ResourceRestService或OutputService的单例实例是否正确?
当请求数量增加时是否会导致性能开销如果是,那么解决方案应该是什么?您所做的是标准的,没有问题。由于它是单例且非线程安全的,所以该类不应该维护状态,它所要做的就是获取请求并发送响应。如果请求数量增加,您可能必须使用集群环境(apache mod_jk等)您的服务方法不应该是单例的,除非您特别需要做您喜欢的事情,以使其线程安全 你应该让它静止 <>当没有请求增加时,您可能需要考虑的场景很多,一个非穷尽列表如下 1.是由于数据库层的原因吗?记录数量、数据库性能等 2.是由于服务层的原因吗?由于各种原因在服务层处理的金额 3.这是因为服务器功能吗?它可以处理的最大请求数
等等。谢谢你的回复。毫无疑问,如果一个请求已经出现,并且它正在getOutput方法中处理,同时新的请求出现,那么新的请求是否必须等到第一个请求完成,因为类是singleton?不。服务器会为您创建另一个线程。因此,代码是并行执行的。你不必担心。