`
xiangxingchina
  • 浏览: 506314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx图片服务器的架构方案

阅读更多

图片服务 通常数据 容量较大,而且访问也频繁,鉴于此,图片服务就会有两种问题,一是存储问题,二是访问量问题。
存储问题就是硬盘容量问题,花钱买硬盘就可以了,看似简单,但着实也是最苦的问题。按目前探索来看,最好的方式是:在任何时刻遇到硬盘空间不够时,买颗硬 盘插上,最多改改配置,就能立刻利用;另外,硬盘要能充分利用,不然图片存储量大再加上备份,很恐怖,最好是每颗硬盘都用上100%的空间。
访问量也是个大问题,如果服务不允许防盗链,那么访问量会引起带宽、服务器 压力等问题,有钱的话直接扔CDN,没钱或者有更多的钱,就自己做吧。根据垣古不变的真理“越老的图,访问量也相对较少”这一点,分成两大部分,一边处理最新的图片,一边处理老旧的图片。最新的图片访问量大,但存储量较少;老图片访问量低,但存储量大。
大概分析完了,开始制定方案

一、拟定一个存储目录规则:
在现有的/a/b/abcde.jpg这样的hash方式下多加一个日期的目录变成:/200810/16/a/b/abcde.jpg或者/2008/10/16/a/b/abcde.jpg。按日期制定这个目录规则后,就可以按年月来拆机器了。

二、分机器,分硬盘
按之前的计划,分成两个组,一组服务器用lvs做负载均衡负责新图片;另一组服务器做旧图片访问和备份。新图机器找几台好点的服务器,SCSI硬盘;旧图 机器没太大要求,PC机就行,找够硬盘就可以,现在IDE的1T硬盘也不太贵,最好再搭个raid就省事了,最主要是这些机器要多。
照这个图,搭一搭

pic_nginx.png



说明一下:
1、图片服务通过lvs作为入口,处理能力上还是有保障的。
2、利用nginx 直接对外服务,不必用squid。
3、图中的红线是指主nginx会将/2006和/2007年的图片分别代理到两台存档服务器,如果发现主nginx的cpu占用比较大,那么可以考虑使用nginx的proxy_store将图片存到主服务器上,定期清理。
4、图中有一台存储分配服务器,作为图片服务更新图片的统一入口,有新图片或者修改图片的话,由这台服务器负责将图片放到正确的服务器上去。
5、旧图片服务器当前用年份来划分,每年增加两台服务器,亦可是加两块硬盘,注意,不要相信raid,一定要有两台机器,地理上分在两个城市则更好。
6、因为旧数据2006和2007年的数据基本上是没有变化的,所以假如硬盘够大,那么可以把两年的数据合并在一起。
7、如果细心定制,那么旧图片服务器的硬盘100%塞满是可以的,旧数据的容量基本上不会大幅增长,小小预留1-2G空间就可以了。
使用这个架构 的 话,到了2009年,我会把2008年的数据想办法迁到旧图服务器上,硬盘不够的话,加硬盘就可以了。如果图片量实在太大,主服务器连一年的数据都装不 下,那可以用启用月份来划分;如果一个月都装不下了,那也太夸张了,那就启用日期吧;如果一天的数据都装不下,那就……。

分享到:
评论

相关推荐

    Nginx高性能WEB服务器视频.rar

    16 Nginx运维日常故障解决方案.rar 17 Nginxt构建安全站点HTTPS架构.rar 18实战构建企业Nginx Caches缓存系统.rar 19构建企业级Nginx+Keepalived集群架构.rar 20企业Nginx-+Keepalived双主架构案例实战.rar

    Nginx服务器详细部署及部署架构

    Nginx服务器部署防线,及负载均衡配置方案。详细描述了高可用主从模式以及双主模式的架构。

    Nginx高性能WEB服务器视频.zip

    16 Nginx运维日常故障解决方案.ts 17 Nginx构建安全站点HTTPS架构.ts 18 实战构建企业Nginx Cache缓存系统.ts 19 构建企业级Nginx+Keepalived集群架构.ts 20 企业Nginx+Keepalived双主架构案例实战.ts ..........

    决战Nginx 技术卷:高性能Web服务器部署与运维.part3

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...

    Nginx服务器的内部核心架构设计.docx

    Nginx服务器的内部核心架构设计.docx

    决战Nginx:技术卷 - 高性能Web服务器部署与运维.z02(3-2)

    本书详细讲述了Nginx服务器与动态语言应用的结合 动态语言包括PHP Python Perl Java Ruby及ASP NET架构 对于PHP部分 我们使用了php fpm方式运行 在这一部分除了使用纯PHP架构的memcache外 还介绍了使用libmemcached...

    决战Nginx 技术卷:高性能Web服务器部署与运维.part1

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...

    决战Nginx:技术卷 - 高性能Web服务器部署与运维.z01(3-3)

    本书详细讲述了Nginx服务器与动态语言应用的结合 动态语言包括PHP Python Perl Java Ruby及ASP NET架构 对于PHP部分 我们使用了php fpm方式运行 在这一部分除了使用纯PHP架构的memcache外 还介绍了使用libmemcached...

    决战Nginx 技术卷:高性能Web服务器部署与运维.part2.rar

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...

    决战Nginx技术卷

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...

    大型网站高并发解决方案分析之图片服务器分离架构

    本文讲述了大型网站高并发情况下图片服务器分离的分析与解决方案,并给出了各种图片服务器架构方案及他们的优缺点

    nginx+tomcat+redis+mysq集群部署方案.docx

    2.1.1 Nginx服务器 2 2.1.2 Tomcat服务器 3 2.1.3 数据库服务器 3 2.1.4 Redis服务器 3 2.2 服务器配置说明 3 第3章 集群的安装与配置 5 3.1 JDK的安装和配置 5 3.2 Redis的安装和配置 6 3.3 Tomcat的安装和...

    nginx-goodies-nginx-sticky-module-ng-s12451asdasd

    大家都知道nginx抗并发能力强,又可以做负载均衡,而且使用nginx对我们目前的网站架构不会有大的变动,所以首选方案是nginx。但问题来了,nginx在会话保持这方面比较弱,用ip_hash做会话保持有很大的缺陷,它是通过...

    高性能业务架构解决方案(LVS+Keepalived)

    高性能业务架构解决方案(LVS+Keepalived) Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件。对于大型的,需要进行高并发的网站或者对网络不太严格的场景,可以使用Nginx;对于大型的Web服务器的时候可以...

    linux+mysql+nginx+php(lmnp)架构配置

     在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下...

    架构设计方案

    通过Nginx实现反向代理服务器集群,同时搭建squid集群以作为静态页面和图片的缓存。 3)通过web服务器的配置来实现负载均衡 即通过apache或是Nginx 将客户请求均衡的分给tomcat1,tomcat2....去处理。 2.1.2WEB应用...

    Java架构师技术栈.txt

    1.高性能Nginx服务器-反向代{过}{滤}理,2.高性能Nginx服务器-负载均衡,3.高性能Nginx服务器-基于阿里云实战环境部署Nginx服务器........8.互联网高并发解决方案-基于Hystrix实现服务隔离与降级 ,9.互联网安全架构...

    最全面的门户网站架构设计方案.doc

    前台门户网站架构 设计方案 北京宽连十方数字技术有限公司 2010-7 目 录 1 设计思路 3 2 系统结构 3 3 网络规划及性能计算 3 3.1 网络架构 3 3.2 网络架构说明 4 3.2.1 采用双防火墙双交换机做网络冗余,保障平台...

    Java思维导图xmind文件+导出图片

    Nginx反向代理服务器及负载均衡服务器配置实战 利用keepalived+Nginx实战Nginx高可用方案 基于Nginx实现访问控制、连接限制 Nginx动静分离实战 Nginx Location ReWrite 等语法配置及原理分析 Nginx提供https...

Global site tag (gtag.js) - Google Analytics