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

nginx图片服务器的架构方案

 
阅读更多

nginx图片服务器的架构方案

[2012-08-02 15:22:03]
图片服务通常数据容量较大,而且访问也频繁,鉴于此,图片服务就会有两种问题,一是存储问题,二是访问量问题。

存储问题就是硬盘容量问题,花钱买硬盘就可以了,看似简单,但着实也是最苦的问题。按目前探索来看,最好的方式是:在任何时刻遇到硬盘空间不够时,买颗硬盘插上,最多改改配置,就能立刻利用;另外,硬盘要能充分利用,不然图片存储量大再加上备份,很恐怖,最好是每颗硬盘都用上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就省事了,最主要是这些机器要多。

照这个图,搭一搭



说明一下:

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年的数据想办法迁到旧图服务器上,硬盘不够的话,加硬盘就可以了。如果图片量实在太大,主服务器连一年的数据都装不下,那可以用启用月份来划分;如果一个月都装不下了,那也太夸张了,那就启用日期吧;如果一天的数据都装不下,那就◎#¥%……※。
分享到:
评论
1 楼 newthink688 2015-09-10  
文章写得不错,学习了,但文中的图片没有显示出来呢。

相关推荐

    nginx rtmp 服务器编译好

    Nginx RTMP 服务器是一种高效且流行的流媒体解决方案,尤其在Windows平台上表现优秀。RTMP(Real-Time Messaging Protocol)协议是Adobe Systems设计的,主要用于实时音视频流传输。Nginx,作为一款高性能的Web...

    nginx Web服务器代码

    1. **全局块**:设置Nginx服务器的基本属性,如用户组、工作模式、错误日志位置等。 2. **events块**:定义如何处理连接事件,如最大连接数、多路复用技术等。 3. **http块**:包含多个server块,设置HTTP服务器的...

    Nginx+RTMP 推拉流集群方案

    Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...

    nginx 1.9.7服务器windows版

    **Nginx 1.9.7 Windows Server详解** Nginx是一款高性能、轻量级的Web服务器/...通过持续的更新和优化,Nginx已经成为现代互联网架构不可或缺的一部分,其简洁的配置和模块化设计使得管理和扩展服务器变得简单易行。

    nginx集成rtmp服务器

    1. **安装Nginx**: 首先,你需要下载并安装Nginx服务器。在Windows上,这通常是一个可执行文件,运行后会自动安装。在Linux上,你可以使用包管理器如`apt-get`或`yum`进行安装。 2. **安装RTMP模块**: Nginx本身并...

    Nginx高性能Web服务器实战教程+高清+完整书签

    通过本书的学习,读者将能够全面理解Nginx的架构和功能,掌握实际环境中Nginx的部署和管理,从而实现Web服务器的高性能运行。配合高清版的教程,阅读体验更佳,书签功能则有助于读者快速定位所需内容,提高学习效率...

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

    ### Nginx服务器详细部署及部署架构 #### 一、Nginx服务详细部署 **1. CentOS 6.6 系统部署方案** - **Nginx 部署**:在 CentOS 6.6 系统上安装 Nginx 通常包括几个步骤:下载并编译 Nginx 源码包、配置编译参数...

    架构设计:负载均衡层设计方案(2)——Nginx安装1

    【架构设计:负载均衡层设计方案(2)——Nginx 安装1】 在构建复杂的IT系统时,负载均衡是确保服务稳定性和可扩展性的重要组成部分。Nginx作为一个流行的高性能反向代理服务器和负载均衡器,其在架构设计中的角色...

    Nginx高性能Web服务器详解

    在Linux操作系统上运行,Nginx能够提供稳定且快速的服务,是构建高可用性和高并发网站的首选方案。 ### 一、Nginx的基本架构 Nginx采用事件驱动的异步非阻塞模型,核心模块包括HTTP、FTP和邮件服务器模块。其工作...

    国产麒麟系统 nginx离线安装包 armhf架构deb包(亲测,没有任何问题)

    在IT领域,尤其是在服务器管理与部署中,国产麒麟操作系统(Kylin OS)逐渐崭露头角,成为一种重要的操作系统选择。...离线安装虽然相比在线安装步骤稍显繁琐,但它提供了在特定环境下部署Nginx的可靠方案。

    Nginx服务器软件1.13.8版本

    Nginx服务器软件1.13.8版本是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接和静态内容分发方面表现出色。该版本发布于2018年,是Nginx 1.13.x系列中的一个稳定版,为...

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

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

    nginx+tomcat+redis服务器集群session共享

    1. **Nginx**:作为反向代理服务器,Nginx可以负载均衡请求,将用户请求分发到不同的后端服务器(如Tomcat实例),同时具备缓存和SSL终止等功能,提高系统性能和安全性。 2. **Tomcat**:作为Java Servlet容器,...

    基于ELK的nginx-qps监控解决方案.docx

    基于ELK的nginx-qps监控解决方案 在现代网络架构中,监控和日志分析是非常重要的组件之一。ELK(Elasticsearch、Logstash、Kibana) stack是当前最流行的日志分析解决方案之一。今天,我们将讨论基于ELK的nginx-qps...

    实战Nginx:取代Apache的高性能Web服务器 PDF

    11. 可扩展性:Nginx服务器可以轻松地通过增加更多的Nginx服务器实例进行水平扩展,支持高流量和高负载的场景。 12. 跨平台:Nginx支持多种操作系统平台,包括Linux、Windows、FreeBSD、Mac OS X等。 总结来说,...

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

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

    18进阶 5:基于 Nginx 的 API 部署方案(2).md

    这种机制可以隐藏内网的服务器架构,提高安全性。 3. 负载均衡:Nginx具备负载均衡的能力,可以将接收到的请求按照一定的算法分发到后端的多个服务器上。这样可以有效分散单个服务器的压力,提高整个系统的响应速度...

    全面的高性能高并发服务器架构解决方案.rar

    "全面的高性能高并发服务器架构解决方案"这个压缩包文件提供了丰富的资料,帮助我们理解并实践相关技术。 首先,高性能意味着服务器能够快速处理大量请求,这通常依赖于高效的计算资源和优化的算法。在硬件层面,...

Global site tag (gtag.js) - Google Analytics