i.a*_*iel 18 deployment tomcat playframework
这个问题是面向服务器的.我有一个托管服务器(相当小的一个,1,6Ghz原子,2Go,200 GO),有几个(4或5)播放应用程序和更多.这些应用程序中的大多数都有一个非常小的用途,比方说每天一百个请求.
使用Play的嵌入式服务器部署每个应用程序是否更好!因此每个应用程序使用64mb的内存?
或者使用tomcat中的所有应用程序部署Tomcat?所有应用程序共享更大的内存?
编辑:
我将添加一些关于我的情况的进一步信息.服务器还托管:
我最初的计划是在Tomcat中部署所有这些东西.拥有应用程序,Sonar和Jenkins在Tomcat和Apache2上运行静态资源.(图片,脚本)
评论
最后一点,我知道拥有Sonar和Jenkins,生产环境中的持续集成系统并不是最佳选择.但由于它们仅在夜间运行(自动构建),因此它们不会使系统过载.另外,我是一名学生,在经济上,额外的"CI /构建"服务器是我的财务能力之外的.
Per*_*ega 13
最好的方法是使用附带的Play服务器,将NGinx作为反向代理放在它前面,以解决所有重定向/请求管理问题.
为什么这个而不是Tomcat?您可以从这篇比较性能的文章开始.另一个参数是Tomcat加载Play不需要也不使用的所有Java EE环境,消耗你想要的应用程序的内存和资源(特别是如果你使用内存缓存).
在Nginx上作为反向代理,这应该提示为什么要使用它而不是Apache.
编辑(问题编辑):
在您的情况下,您可以优化您的资源.
首先用Nginx替换Apache 2.Nginx可以很好地为PHP服务(如果你使用Ubuntu,请看这个).它将非常有效地提供Play,并可用作Java服务器的代理.
然后,您可以将所有Java应用程序移动到Jetty,并摆脱Tomcat.Jetty平均消耗较少的资源,即使你的应用程序只在晚上运行,服务器仍然在线并囤积ram.越少越好.
那SVN怎么样?遗憾的是,你需要Apache 2和Nginx作为Apache 2的反向代理.为什么不保留Apache呢?争论将是用法.从理论上讲,PHP应用程序将拥有比SVN服务器更多的流量,这使得他们拥有的资源消耗更加相关.使用nginx,分配用于PHP的ram和cpu将减少使您的计算机更具响应性.Apache只会在您使用SVN时起作用,而这种情况并不常见.
如果你不想把精力转移到Nginx(我能理解),那么只需将Java应用程序移动到Jetty并使用Apache 2作为Play的反向代理.但是使用Play嵌入式服务器,请不要在Tomcat中加载应用程序.这样会更有效率.
我正在运行的生产部署正在使用Play嵌入式服务器.它使生活方式比Tomcat更简单,特别是重新部署 - 我在屏幕下运行服务器,升级包括"Ctrl-C","向上箭头","输入",执行:
% git stash; git pull; git stash apply; play run
Run Code Online (Sandbox Code Playgroud)
有了2G的内存,我不会太担心每个进程的开销.摆脱Tomcat的复杂性当然是值得付出的代价.
(git stashing允许我在生产中放置一些非git-committed配置 - 比需要更懒惰,但是:-))
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |