- 浏览: 523399 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
图片服务
通常数据
容量较大,而且访问也频繁,鉴于此,图片服务就会有两种问题,一是存储问题,二是访问量问题。
存储问题就是硬盘容量问题,花钱买硬盘就可以了,看似简单,但着实也是最苦的问题。按目前探索来看,最好的方式是:在任何时刻遇到硬盘空间不够时,买颗硬
盘插上,最多改改配置,就能立刻利用;另外,硬盘要能充分利用,不然图片存储量大再加上备份,很恐怖,最好是每颗硬盘都用上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年的数据想办法迁到旧图服务器上,硬盘不够的话,加硬盘就可以了。如果图片量实在太大,主服务器连一年的数据都装不
下,那可以用启用月份来划分;如果一个月都装不下了,那也太夸张了,那就启用日期吧;如果一天的数据都装不下,那就……。
发表评论
-
Spring + iBatis 的多库横向切分简易解决思路2
2011-12-26 16:43 2095Table of Contents I. 向Co ... -
Spring + iBatis 的多库横向切分简易解决思路
2011-12-26 16:36 11721.引言 笔者最近在做一个互联网的“类SNS” ... -
tomcat端口被长时间连接,CPU使用率高的原因分析
2011-11-20 23:50 1086tomcat使用的是电脑的80端口。 当客户端访问的 ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1682环境说明: nginx1: 192.168.2.4 ... -
MySQL 6.0 集群(cluster)+复制(replicate)
2011-05-05 02:08 1489http://www.net5 . 简介 本 ... -
centos下MySQL主从同步配置
2011-05-05 00:38 1052一、环境 主机: ... -
HadHoop分布式框架配置(二)
2011-03-16 21:42 1171我们假定,你已经下 ... -
HadHoop分布式框架简介(一)
2011-03-16 21:42 1495分布式系统基本原理 分布式系统被设计成可以存 ... -
利用nginx+apache+mysql+php+memcached+squid搭建门户网站
2011-03-06 04:27 1492转自:http://hi.csdn.net/rushcc200 ... -
CentOS 5.3上安装Apache+php+Mysql+phpMyAdmin
2011-03-03 22:00 11211、系统下载 CentOS 开发社区已发布了新的 5.3 版 ... -
1分钟完美安装最新 CentOS + Nginx + PHP-FPM + MySQL
2011-03-03 21:58 1342PHP 5.3.1 MySQL 5.0.89 Ngin ... -
集群和数据库负载均衡的研究
2011-03-01 03:34 1771http://dadupi.blogbus.com/logs/ ... -
Memcached集群/分布式的单点故障
2011-03-01 03:24 1936我看到过这样一段文字 “memcached如何处理容错的? ... -
Memcached 集群架构问题归纳
2011-03-01 02:54 1034集群架构方面的问题 o memcached是怎么工作的 ... -
大型bbs架构(squid+nginx)实例分享
2011-03-01 01:50 1532这个架构 基于squid、nginx 和lvs等技术 , ... -
解密大中型网站架构设计来自威鹏网信息化解决方案专家。
2011-03-01 01:38 1027相信很多IT ... -
基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
2011-03-01 00:59 1523基于mod_proxy+Apache 2.2.16+Tomca ... -
揭秘全球最大网站Facebook背后的那些软件
2011-03-01 00:53 11022010年6月,Google公布全球Top 1000网站 ... -
基于nginx的tomcat负载均衡和集群(超简单)
2011-03-01 00:46 1132今天看到"基于apache ... -
Lighttpd 的安装配置
2011-03-01 00:20 1215lighttpd(http://lighttpd.net/ ...
相关推荐
Nginx RTMP 服务器是一种高效且流行的流媒体解决方案,尤其在Windows平台上表现优秀。RTMP(Real-Time Messaging Protocol)协议是Adobe Systems设计的,主要用于实时音视频流传输。Nginx,作为一款高性能的Web...
1. **全局块**:设置Nginx服务器的基本属性,如用户组、工作模式、错误日志位置等。 2. **events块**:定义如何处理连接事件,如最大连接数、多路复用技术等。 3. **http块**:包含多个server块,设置HTTP服务器的...
Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...
**Nginx 1.9.7 Windows Server详解** Nginx是一款高性能、轻量级的Web服务器/...通过持续的更新和优化,Nginx已经成为现代互联网架构不可或缺的一部分,其简洁的配置和模块化设计使得管理和扩展服务器变得简单易行。
1. **安装Nginx**: 首先,你需要下载并安装Nginx服务器。在Windows上,这通常是一个可执行文件,运行后会自动安装。在Linux上,你可以使用包管理器如`apt-get`或`yum`进行安装。 2. **安装RTMP模块**: Nginx本身并...
通过本书的学习,读者将能够全面理解Nginx的架构和功能,掌握实际环境中Nginx的部署和管理,从而实现Web服务器的高性能运行。配合高清版的教程,阅读体验更佳,书签功能则有助于读者快速定位所需内容,提高学习效率...
### Nginx服务器详细部署及部署架构 #### 一、Nginx服务详细部署 **1. CentOS 6.6 系统部署方案** - **Nginx 部署**:在 CentOS 6.6 系统上安装 Nginx 通常包括几个步骤:下载并编译 Nginx 源码包、配置编译参数...
【架构设计:负载均衡层设计方案(2)——Nginx 安装1】 在构建复杂的IT系统时,负载均衡是确保服务稳定性和可扩展性的重要组成部分。Nginx作为一个流行的高性能反向代理服务器和负载均衡器,其在架构设计中的角色...
在Linux操作系统上运行,Nginx能够提供稳定且快速的服务,是构建高可用性和高并发网站的首选方案。 ### 一、Nginx的基本架构 Nginx采用事件驱动的异步非阻塞模型,核心模块包括HTTP、FTP和邮件服务器模块。其工作...
Nginx服务器软件1.13.8版本是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接和静态内容分发方面表现出色。该版本发布于2018年,是Nginx 1.13.x系列中的一个稳定版,为...
16 Nginx运维日常故障解决方案.rar 17 Nginxt构建安全站点HTTPS架构.rar 18实战构建企业Nginx Caches缓存系统.rar 19构建企业级Nginx+Keepalived集群架构.rar 20企业Nginx-+Keepalived双主架构案例实战.rar
1. **Nginx**:作为反向代理服务器,Nginx可以负载均衡请求,将用户请求分发到不同的后端服务器(如Tomcat实例),同时具备缓存和SSL终止等功能,提高系统性能和安全性。 2. **Tomcat**:作为Java Servlet容器,...
在IT领域,尤其是在服务器管理与部署中,国产麒麟操作系统(Kylin OS)逐渐崭露头角,成为一种重要的操作系统选择。...离线安装虽然相比在线安装步骤稍显繁琐,但它提供了在特定环境下部署Nginx的可靠方案。
基于ELK的nginx-qps监控解决方案 在现代网络架构中,监控和日志分析是非常重要的组件之一。ELK(Elasticsearch、Logstash、Kibana) stack是当前最流行的日志分析解决方案之一。今天,我们将讨论基于ELK的nginx-qps...
11. 可扩展性:Nginx服务器可以轻松地通过增加更多的Nginx服务器实例进行水平扩展,支持高流量和高负载的场景。 12. 跨平台:Nginx支持多种操作系统平台,包括Linux、Windows、FreeBSD、Mac OS X等。 总结来说,...
16 Nginx运维日常故障解决方案.ts 17 Nginx构建安全站点HTTPS架构.ts 18 实战构建企业Nginx Cache缓存系统.ts 19 构建企业级Nginx+Keepalived集群架构.ts 20 企业Nginx+Keepalived双主架构案例实战.ts ..........
这种机制可以隐藏内网的服务器架构,提高安全性。 3. 负载均衡:Nginx具备负载均衡的能力,可以将接收到的请求按照一定的算法分发到后端的多个服务器上。这样可以有效分散单个服务器的压力,提高整个系统的响应速度...
"全面的高性能高并发服务器架构解决方案"这个压缩包文件提供了丰富的资料,帮助我们理解并实践相关技术。 首先,高性能意味着服务器能够快速处理大量请求,这通常依赖于高效的计算资源和优化的算法。在硬件层面,...