科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道解读Tomcat和负载均衡的意思

解读Tomcat和负载均衡的意思

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

关于Tomact我们都知道它是一种嵌入的脚本软件,基本上我们在Linux下来来完成负载均衡。那么针对负载均衡和Tomact我们来进行一个具体的说明吧。想得到对负载均衡的更详细的解释,参考ONJava的文章“LoadBalancingWebApplications"

来源:ZDNet网络频道 2010年5月7日

关键字: Tomcat 网络 负载均衡

  • 评论
  • 分享微博
  • 分享邮件

关于Tomact我们都知道它是一种嵌入的脚本软件,基本上我们在Linux下来来完成负载均衡。那么针对负载均衡和Tomact我们来进行一个具体的说明吧。之后再对他们的设定过程给出具体的内容。

◆Tomcat的集群

在Tomcat先前的版本中(4.1)可以通过第三方的jar文件来实现集群?在一个集群内安装和配置多个Tomcat实例不是一件容易的事情?将集群的能力增加到开放源的servlet容器(Tomcat)和应用服务(JBoss)中,JavaGroups是一个不错的选择?在最新版本的Tomcat,集群已经成为主要安装包的一部分?将第三方的集群实现对Tomcat服务器的影响减少到最低?

在典型的集群环境中,为了让成员之间相互协作和复制状态,它们之间需要互相通信?

组的通信可以使用point-to-pointRMI(TCP-IP)或者IP多播两种方式?

大部分的J2EE应用服务器(如JBoss?Oracle?WebLogic和Borland)都是使用IP多播让集群成员进行通信,在集群内发送state/update/heartbeat数据给其他成员?

Tomcat集群成员的通信是如下进行的:所有的集群成员用多播ping消息来对话?每一个Tomcat实例将发送一个消息,广播其IP地址和TCP监听端口(为sessionreplication)?如果在给定的时间帧内,某个实例没有接收到这些信息,那么该实例就会被认为是当机?

另一个比较流行的概念是farming,提供集群范围内的Web应用的热部署?在服务器farm内,一个Web应用通过拷贝war文件到集群内的一个节点上进行部署,farming将会把这个Web应用部署到整个集群中?类似的,从一个集群节点上删除war文件,farming将会在集群内所有的节点上反部署这个Web应用?Tomcat的集群文档中讲到在接下来的版本中将会支持farming能力?

◆负载均衡

一种机制,能将服务器的负载被分发到集群的不同节点上?基于负载均衡策略,应用不再在单一的服务器上执行,而是在动态选择的服务器上?当客户请求服务,一个或多个协作服务器处理这个请求?负载均衡为集群提供单一的入口,就如直接和独立的Web或者应用服务器交互一样,这对客户来说是透明的?

两种比较流行的负载均衡方法分别是DNS轮循和硬件负载均衡?DNS轮循提供单个逻辑名称,返回集群内某台机器的ip地址?这种方式是廉价?简单并且容易配置,但它并没有提供服务器之间的联系和高可靠性的能力?相对来说,硬件负载均衡通过虚拟ip地址来解决DNS轮循存在的问题?负载均衡器有一个单独的ip地址,映射到集群内的每一个节点上?负载均衡器接收到请求,然后重写头部来指向集群内的其他机器?如果我们从集群内移出一些机器,那么这个改变马上生效?硬件负载均衡的好处是服务器的联系性和高效?缺点是昂贵并且设置复杂?(作者在这里没有提到这种硬件的负载均衡方式可以用软件实现,这种方式称为VitrualServer)?

对于负载的分发有多种算法,下面是一些较为常用的算法:

round-robin轮循

random随机

weight-based权重

minimumload最小负载

lastaccesstime最后访问时间

programmaticparameter-based负载均衡器根据方法中的参数来选择服务器

负载均衡算法涉及统计上的差异,速度和简单性?举个例子,weight-based算法比其他的算法需要更长的计算时间?想得到对负载均衡的更详细的解释,参考ONJava的文章“LoadBalancingWebApplications"

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章