关于WEB集群中文件服务器的讨论
原文地址: http://blog.itpub.net/29806344/viewspace-1364778/
在WEB集群中一般都要上传和删除图片。小规模的时候,图片放在本地,再通过同步方式来保持一致。
常见的文件服务器:samba+web,ftp+web,nfs+web,rsync单向同步,分布式存储
samba+web,ftp+web这2种需要改程序代码,用的不多;rsync单向同步在小环境中用;nfs+web在中型环境用的最多;大型环境,海量文件用的是分布式存储,比如hadoop等。
一:samba+web文件服务器
存储:通过samba账号和密码来存储图片,需要修改程序代码
调取:通过文件服务器web的URL
二:ftp+web文件服务器
存储:通过ftp账号和密码来存储图片,需要修改程序代码
调取:通过文件服务器web的URL
三:rsync+inotify文件服务器
存储:保存到WEB本地,通过rsync同步到文件服务器
调取:通过文件服务器web的URL
缺点:单向同步
四:rsync+sersync+web文件服务器
和rsync+inotify相同,但是比其更快更节约资源

五:nfs+web文件服务器
存储:远程nfs文件夹挂载到本地,nfs同步
调取:1,通过文件服务器web的URL;2,直接在挂载的文件夹下取图片

实际操作如下:
NFS+WEB文件服务器:192.168.47.142
WEB1:192.168.47.143
WEB2:192.168.47.144
在NFS文件服务器上:
yum install nfs-utils -y
yum install httpd -y
chmod 777 -R /var/www/html/upload
chkconfig nfs on
cat /etc/exports:
/var/www/html/upload *(rw,sync,root_squash) 192.168.47.142
/var/www/html/upload 192.168.47.0/24(rw,sync,root_squash)
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart
在两台WEB上:
mkdir /var/www/html/upload
chmod 777 -R /var/www/html/upload
cat /etc/fstab:
......
proc /proc proc defaults 0 0 192.168.47.142:/var/www/html/upload /var/www/html/upload nfs defaults 0 0
#注意:写入/etc/fstab中,会自动开机挂载的
mount –a
#WEB2的操作和WEB1一样即可;
注意:
当图片多了,可以把upload的功能从中分离出来,可以考虑利用URL进行hash分组,用一组机器来实现upload,另一组机器来实现浏览。进行不同的设置,可以充分利用到NFS的缓存,可以提高性能
关于WEB集群中文件服务器的讨论的更多相关文章
- web集群中经常使用的session同步解决方式及对照
随着站点的功能越来越多,用户量越来越庞大,单节点模式已经严重不能支撑整个系统的正常运作,轻则用户页面訪问时间越来越慢.重则就会导致整个系统瘫痪.这时候 就须要优化或调整眼下的架构,大部分人就会採用各种 ...
- 如何在集群中获得处理本次请求的web容器的端口号?
系统四台机器,每台机器部署四个Tomcat Web容器.现需要根据端口号随机切换到映射的数据源,若一台机器一个Tomcat则用IP识别,可现在一台机器四个Tomcat,因此还需要获得Web容器的端口号 ...
- 【转】web集群时session同步的3种方法
转载请注明作者:海底苍鹰地址:http://blog.51yip.com/server/922.html 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问 ...
- 负载均衡集群中的session解决方案
前言 在我们给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java,只要使用服务器保存Session,在做负载均衡时都需要考 ...
- Apache shiro集群实现 (八) web集群时session同步的3种方法
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- web集群时session同步的3种方法[转]
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...
- 针对负载均衡集群中的session解决方案的总结
在日常运维工作中,当给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java语言环境,只要使用服务器保存Session,在做负 ...
- haproxy+keepalived实现web集群高可用性[转]
负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将“请求”.“访问”的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些 ...
- web集群时session同步的3种方法
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...
随机推荐
- django-suit的使用
1.django-suit 是Django admin美化插件 django-suit官方文档 2.django-suit安装 #python pip install django-suit #pyt ...
- TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小.TreeMap要求存放的键值对映射的键必 ...
- Windows 10利用自带的 Hyper-v 安装Linux
Linux由于其众多独特的优势(可参见Linux系统的优势),而被很多人所喜爱.而要使用Linux那首先要做的工作就是安装Linux系统了.这里给出在 win10 下利用虚拟机 Hyper-v 安装 ...
- 实时流计算、Spark Streaming、Kafka、Redis、Exactly-once、实时去重
http://lxw1234.com/archives/2018/02/901.htm
- RabbitMQ系列之高可用集群
为了实现高可用,我采用LVS+双节点RabbitMq , 架构图如下: 在RabbitMQ之前放了LVS, LVS 采用 rr 轮询算法 , 目的是将请求平均分配到两个真实节点,并配置5672端口监控 ...
- Django实战(7):改造ProductList界面
有了上一节关于Django模板的基础,改造界面就很容易理解了.将界面设计师设计的页面中的内容根据复用程度分别放到基础模板base.html和专用模板productlist.html中. depot/t ...
- <泛> 并查集
最近写这些东西呢,主要是整理一下知识,自己写一遍,看看还是不是我的. 原理与实践相结合,缺一不可 背景 有时候,给你一张很复杂的关系网络图,如果关系具有传递性,那么,我们该如何处理这些关系集合. 一个 ...
- JavaScript基础-DAY1
JavaScript介绍 你不知道它是什么就学?这就是一个网页嵌入式脚本语言...仅此而已 JavaScript组成 一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(EC ...
- [ 原创 ] Java基础5--abstract class和interface的区别
1.含有abstract抽象修饰符的类就是抽象类.abstract 类不能创建实例对象 2.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不 ...
- Python 面向对象编程——类定义与对象
<类定义与对象声明> 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对 ...