Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何扩展SpringWebServices?_Java_Spring_Web Services_Tomcat_Spring Ws - Fatal编程技术网

Java 如何扩展SpringWebServices?

Java 如何扩展SpringWebServices?,java,spring,web-services,tomcat,spring-ws,Java,Spring,Web Services,Tomcat,Spring Ws,在强大的h/w节点上,有哪些不同的方法可以扩展部署在tomcat容器中的单个Web服务 克隆WS并在容器中部署此WS的多个实例并以某种方式平衡它(考虑到webservice是唯一的端点,这不太可能)有意义吗?或者,tomcat是否应该在不同的端口上运行多个进程(即使在这里,WS-client也只有一个url可以访问)?为什么需要扩展?因为单个实例无法完成这项工作 限制因素是什么?CPU、内存和其他资源 如果您遇到了每个进程的限制,例如,假设单个JVM有一个最大内存大小,那么在同一台机器上启动另一

在强大的h/w节点上,有哪些不同的方法可以扩展部署在tomcat容器中的单个Web服务


克隆WS并在容器中部署此WS的多个实例并以某种方式平衡它(考虑到webservice是唯一的端点,这不太可能)有意义吗?或者,tomcat是否应该在不同的端口上运行多个进程(即使在这里,WS-client也只有一个url可以访问)?

为什么需要扩展?因为单个实例无法完成这项工作

限制因素是什么?CPU、内存和其他资源

如果您遇到了每个进程的限制,例如,假设单个JVM有一个最大内存大小,那么在同一台机器上启动另一个Tomcat实例可能是有意义的。在这种情况下,正如您所说,您将需要使用不同的端口。从您的评论中,我认为您将此模式称为缩放-向上

更可能的情况是,您达到了每台机器的限制,只是CPU不够。在这种情况下,您需要在另一台机器上启动一个新实例。这还可能带来额外的好处,即提供额外的弹性。你失去了一台机器,你仍然有一个服务在别处运行。您称之为缩放-out

在这两种情况下,您都需要在实例前面安装某种形式的IP喷洒器或负载平衡器,这样您的客户端就不需要“了解”单个集群成员

我真的看不出这两种情况有什么区别。从客户的角度来看,只需点击喷雾器即可。从服务器的角度来看,在扩展时,您需要确保资源不会冲突。端口是一个明显的例子,但也需要考虑日志文件之类的东西。通常,提出一套命名约定和资源结构是值得的,这样就可以很容易地确定哪些内容属于哪些内容


由于所有这些配置都很容易出错,因此值得投资编写一些脚本,以便设置实例是一项简单、可重复的任务。

目前的问题太广泛了。有很多与此相关的博客和论文。我认为理想的解决方案取决于您当前的体系结构和范围。我不需要一个明确的答案。我想了解不同的顶级战略是什么。向外扩展很容易理解-您的负载平衡器在IP级别工作。但是“放大”通常是如何处理的呢?你可以参考下面的链接来进行水平放大。1.2. @谢谢,这有助于作为一个开始。所以,看起来,我必须在不同的端口上运行多个tomcat实例。