缘由:
起步阶段的应用,都可能部署在一台服务器上(费用上的原因)
第一个优先分离的,肯定是数据库和应用服务器。
第二个分离的,会是什么呢?各有各的考虑,我所在的项目组重点考虑的节约带宽,服务器性能再好,带宽再高,并发来了,也容易撑不住。因此,我这篇文章的重点在这里。这里重点是介绍实践,不一定符合所有情况,供看者参考吧,
环境介绍:
WEB应用服务器:4CPU双核2G, 内存4G
部署:Win2003/Apache Http Server 2.1/Tomcat6
数据库服务器:4CPU双核2G, 内存4G
部署:Win2003/MSSQL2000
步骤:
步骤一:增加2台配置为:2CPU双核2G,内存2G普通服务器,做资源服务器
部署:Tomcat6,跑了一个图片上传的简单应用,(记得指定web.xml的<distributable/>),并指定域名为res1.***.com,res2.***.com,采用ajp协议
步骤二:修改Apache httpd.conf配置
原来应用的文件上传功能网址为:
1、/fileupload.html
2、/otherupload.html
在httpd.conf中增加如下配置
<VirtualHost *:80>
ServerAdmin webmaster@***.com
ProxyPass /fileupload.html balancer://rescluster/fileupload lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPass /otherupload.html balancer://rescluster/otherupload.html lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
#<!--负载均衡-->
<Proxy balancer://rescluster/>
BalancerMember ajp://res1.***.com:8009 smax=5 max=500 ttl=120 retry=300 loadfactor=100 route=tomcat1
BalancerMember ajp://res2.***.com:8009 smax=5 max=500 ttl=120 retry=300 loadfactor=100 route=tomcat2
</Proxy>
</VirtualHost>
步骤三,修改业务逻辑:
所有上传文件在数据库中均采用全url的方式保存,例如产品图片路径存成:http://res1.***.com/upload/20090101/product120302005.jpg
现在,你可以高枕无忧了,带宽不够时,增加个几十台图片服务器,只需要稍微修改一下apache的配置文件,即可。
分享到:
相关推荐
网站架构设计对于处理大规模用户访问至关重要,涉及到多个层面的技术优化,包括页面静态化、图片服务器分离、数据库集群和库表散列、缓存策略、负载均衡以及镜像等。以下是对这些关键知识点的详细说明: 1. **页面...
Apache服务器是世界上最流行的Web服务器软件之一,用于提供静态和动态内容。它支持多种操作系统,包括Linux,通过配置文件实现高度可定制性。本篇文章将详细解释Apache服务器的一些基本配置指令,帮助你更好地理解和...
本文将深入解析网站架构中的三项关键技术:页面静态化、图片服务器分离以及负载均衡,并探讨它们如何协同工作以提升网站性能。 #### 1. 页面静态化 页面静态化是一种提高网站访问速度的有效手段。通过将动态生成的...
* 客户端请求静态页面时,由Apache服务器响应请求。 * 客户端请求动态页面时,则是Tomcat服务器响应请求。 * 通过Apache信息过滤,实现网站动、静页面分离,保证了应用的可扩展性和安全性。 二、Apache和Tomcat连接...
在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现Apache与Tomcat的结合,以提高系统性能和负载均衡能力。下面将详细介绍这一过程。 `mod_proxy_ajp`是Apache HTTP服务器的一个模块...
【Nginx 介绍】 Nginx 是一款高性能的 HTTP 和...总结起来,利用 Nginx 实现动静分离和负载均衡,可以有效地优化网站性能,提高服务的可用性和可靠性。Nginx 的高性能和易用性使其成为现代 Web 架构中的重要组成部分。
"实战Nginx取代Apache的高性能Web服务器"这个主题,旨在探讨如何利用Nginx替换Apache来实现更高效的Web服务。Nginx以其高性能、低内存占用和强大的反向代理能力而闻名,这使得它成为许多大型网站和高流量应用的首选...
3. **性能**:FastCGI将动态处理逻辑从服务器中分离出来,使得服务器可以更专注于I/O操作。 4. **扩展性**:FastCGI是一种中立的技术标准,可以支持各种编程语言编写的处理程序,例如PHP、Java、Python等。 ##### 2...
本教程将详细介绍如何利用SpringBoot框架实现MySQL的读写分离,以及涉及到的相关技术。 首先,我们需要理解读写分离的基本概念。读写分离是指将数据库的读操作和写操作分配到不同的服务器上,通常主库负责写操作,...
Apache 和 Tomcat 是两种广泛应用的 Web 服务器软件,它们在 Web 开发领域有着不同的角色和功能。 Apache HTTP Server,简称 Apache,是一个开源的 Web 服务器,主要负责处理静态内容,如 HTML、CSS、JavaScript ...
这样,既能利用Nginx的高性能静态文件处理能力,又能利用Apache的动态处理优势,提高了系统的响应速度和整体效率。 总结来说,动静分离是提高网站性能的有效手段,通过部署Nginx和Apache可以实现这一目标。Nginx的...
在实际项目开发中,为了利用Apache的高性能处理静态资源和Tomcat的强大Java支持,我们通常会将两者进行整合。本文将详细介绍如何进行Apache与Tomcat的整合配置,以实现网站目录的搭建。 首先,我们需要了解Apache和...
1. KeepAlive优化:Apache 2.4能更好地控制持久连接,提高资源利用率,减少服务器负载。 2. 响应式调度:改进了请求处理策略,优先处理未完成的请求,提高响应速度。 3. 内存管理:优化内存分配策略,减少内存碎片,...
Apache2.2与Tomcat5.5的整合配置是一个常见的任务,特别是在那些希望利用Apache作为前端服务器处理静态内容,而将动态请求转发给Tomcat处理的环境中。这种配置可以提高服务器性能并优化资源分配。 首先,我们需要...
2. **模块化设计**:Apache服务器的核心功能与可选模块分离,允许管理员根据需要加载或卸载模块,以优化服务器配置,降低资源占用。 3. **更好的安全特性**:新增了模块如mod_security和mod_evasive,可以增强...
这样既能利用Apache处理静态内容的优势,又能利用Tomcat处理Java应用程序的特性,实现资源的最佳分配。 **实现原理:** Apache+jk+Tomcat集群的工作流程大致如下: 1. 用户向Apache服务器发送请求。 2. Apache...
总之,《实战Nginx:取代Apache的高性能Web服务器》将带你深入理解Nginx的运行机制,通过实例操作,让你掌握如何利用Nginx构建稳定、高效的Web服务环境。无论你是初学者还是有经验的系统管理员,这本书都将为你提供...
SpringBoot与Shiro的结合为开发者提供了一个高效、便捷的实现前后端全分离接口安全的框架。本文将深入探讨如何利用这两个强大的工具构建安全的Web服务。 首先,SpringBoot是Spring框架的一个轻量级版本,它简化了...
Apache手册将详细介绍这些特性和配置方法,包括如何安装、配置、管理和优化Apache服务器,以及如何解决常见问题。它不仅是管理员的宝贵参考资料,也是开发人员和运维人员必备的工具书。通过深入阅读和实践,你可以更...