Apache反向代理组合Tomcat集群来实现负载均衡(二)

Apache反向代理结合Tomcat集群来实现负载均衡(二)

        上文主要介绍了下集群和负载均衡的区别,本文主要介绍下实现原理,至于具体的apache负载均衡和tomcat的集群实现将会在以后的博文中文详细介绍,我这里再啰嗦下tomcat和apache的区别,apache为web服务器,处理响应html文件(静态页面)效果比较好,还能做一些静态页面的缓存,在静态页面方面处理效果要比tomcat强不少,tomcat是应用服务器当然也有web服务器的功能,主要作为应用服务器,处理后台业务等,所以一般的中型网站大都是用web服务器下挂一堆应用服务器来提高网站的整体性能。下边给大家看一个图:

Apache反向代理组合Tomcat集群来实现负载均衡(二)

图中21、22为两台做负载均衡的服务器,这里可以比作Apache,web1和web2两台为应用服务器,这里比作Tomcat,实现负载均衡的整个流程为:

1、192.168.129.100为外部客户端,用户通过浏览器访问某个web应用,例如:www.cluster.com,这里补充下网络层方面的知识,在客户端浏览器访问www.cluster.com后,会经过DNS(域名解析服务器)负载均衡将该请求转发到21、22这两个服务器上的apache层,例如这里被DNS负载到21服务器上。

2、在21apache服务器上会根据权重或者自定义的负载分配策略计算出应该把该请求转发到web1服务器还是web2服务器上,例如,该www.cluster.com的请求被转发到了web1服务器上

3、web1应用服务器接收当前请求并后台处理业务后响应该请求到21 apache服务器上

4、apache(21)再将web1的响应返回给客户端浏览器上

    如上过程为负载均衡过程中,web1、web2用tomcat做了个集群,当然也可以是更多的tomcat,然后由apache做负载均衡服务器,来根据不同的策略向Tomcat服务器转发不同用户的请求来实现负载均衡。如果期间web1和web2中的任意一台服务器发生宕机情况,apache会自动将转发到该宕机上的请求再次转发到没有宕机的服务器上,来实现系统的HA高可用。

        本文中主要介绍了负载均衡的实现原理,将在下一节中详细介绍tomcat的集群。