仓酷云

标题: 来看怎样为一个高负荷站点设置tomcat毗连器(connector) [打印本页]

作者: 金色的骷髅    时间: 2015-1-18 10:59
标题: 来看怎样为一个高负荷站点设置tomcat毗连器(connector)
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,netbeans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。
弁言

比来恰好要用到这些内容,因而就找了一篇对照有份量的文章,思来想往,仍是实验写一下译文吧。实在LZ的英语长短常烂的(四级没过的LZ眼泪失落上去),因而这篇文章翻译的程度LZ本人也不敢奉承。列位猿友大抵参考一下便可,个中【】标记是LZ的标注,()内的是原文。假如列位有那里其实看不分明的话,多是LZ翻译的成绩,列位猿友能够往看原文的内容,地点:http://people.apache.org/~mturk/docs/article/ftwai.html。
择要

倘使你想完成最年夜的功能和不乱性的话,那末在web服务器后运转tomcat集群是必经之路,这篇文章就是用来形貌完成这件事的最好理论。
tomcat之前

一些人大概会问“为何要在tomcat后面安排一个webserver?”因为比来的JVM手艺和tomcat中心自己的缘故原由,单个tomcat的功能已十分靠近于当地的web服务器,乃至当发送静态文本时,tomcat也只比以后的Apache2web服务器慢10%。因而谜底就是:扩大性。
tomcat经由过程给每一个客户端毗连分派自力的线程,能够服务很多用户的并发会见。只管如许tomcat能够做的很好,可是当并发毗连数上升的时分,将会呈现一些成绩。体系为了办理这些线程所消费的工夫会下降全体的功能,JVM也将消费更多的工夫办理和切换这些线程,然后才干真实的对客户的哀求做一些详细的事情。
别的,当使用间接运转在tomcat上的时分,连通性(connectivity)也有很多严峻的成绩。一个典范的使用大概会处置用户数据、会见数据库大概做一些盘算再将了局前往给客户端。一切的这些都是一些耗时的事情,可是为了让用户感到这是一个能够一般运转的使用程序,年夜多半时分必需在半秒内(500ms)就完成。假如使用的呼应工夫为10ms,那末在你的客户埋怨之前,你的使用最多只能同时服务50个并发用户【这句话有点别扭,0.0,但大抵意义是了解的】。那末为了撑持更多的用户你该怎样做呢?最复杂的举措就是买一个更快的硬件,增添更多的CPU大概更多的箱子(boxes)【boxes?箱子?】。两个双路箱子一样平常比一个四路的廉价,因而增加更多的箱子一样平常比买一个服务器加倍省钱【貌似这个箱子能够替换服务器,究竟是甚么工具,有英语好的给翻译一下】。
下降tomcat负载的第一件事就是利用webserver处置静态文本,就像下图一样。
来看怎样为一个高负荷站点设置tomcat毗连器(connector)
登录/注册后可看大图

上图给出了最复杂的可行的设置计划。webserver用来传送静态文本,而tomcat只处置详细的事情,也就是使用服务。年夜多半情形下,这就能够满意你了。假如用一个四路的箱子【又是箱子,0.0】,而且使用的呼应工夫为10ms的话,那末你将能同时服务200个用户,也就是说,一天能够撑持350万的会见量【不晓得350万这个数字怎样算出来的,用200*60*60*24不是350万,0.0】,这已是一个对照可不雅的数字了。
在以上这类水平负载的情形下,你也许不太必要将webserver放在tomcat之前。可是另有第二个缘故原由让你这么做,那就是如许创立了一个把持区(demilitarizedzone)。将webserver放在一个主机上即是在公司的公有收集与互联网大概是别的的内部大众收集之间拔出了一个断绝区(neutralzone),这可让tomcat上的使用平安的会见别的的公有资本,也能够会见公司的公有数据。
来看怎样为一个高负荷站点设置tomcat毗连器(connector)
登录/注册后可看大图

除具有把持区和能够平安的会见公有收集,另有一些别的的缘故原由,好比能够满意自界说受权的必要。
假如有更多的负载必要承载的话,那末你将不能不增加更多的tomcat使用服务器,这多是由于客户真个负载已没法被一个复杂的箱子【靠,到如今还没猜出来箱子是甚么】处置,也多是由于当某一个节点宕机时,你必要一种妨碍恢复的机制。
来看怎样为一个高负荷站点设置tomcat毗连器(connector)
登录/注册后可看大图

部署一个包括了多个tomcat使用服务器的架构,必要在webserver和tomcat之间到场一个负载平衡器。在apache1.3、apache2.0和IIS中,你可使用JakartaTomcatConnector,由于它供应负载平衡和黏性session机制。在未来的apache2.1/2.2中,可使用advancedmod_proxy_balancer,它是一个新计划的模块并整合在apachehttpd的中心傍边。
前往栏目页:http://www.bianceng.cn/Programming/Java/
<p>
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,
作者: 深爱那片海    时间: 2015-1-20 12:28
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 飘飘悠悠    时间: 2015-1-21 06:02
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 再现理想    时间: 2015-1-30 09:05
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 兰色精灵    时间: 2015-2-6 09:23
是一种语言,用以产生「小应用程序(Applet(s))
作者: 愤怒的大鸟    时间: 2015-2-15 21:40
是一种使用者不需花费很多时间学习的语言
作者: 海妖    时间: 2015-3-4 14:12
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 精灵巫婆    时间: 2015-3-11 20:00
是一种为 Internet发展的计算机语言
作者: 金色的骷髅    时间: 2015-3-19 10:48
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者: 活着的死人    时间: 2015-3-27 19:10
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2