关于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不同步的话,一个登录用户,一会是登录状态,一会又不是 ...
随机推荐
- » Working Around JNI UTF-8 Strings Deprogramming
private static native void printString(String text); ... void examplePrintString() { String str = &q ...
- XML文件解析-SaxReader
一.前言 java解析xml文件有几种方式,这里介绍一下用SaxReader来解析Xml的方法. 二.准备 如果用SaxReader的话,需要引入jar包dom4j, 版本的话官网下载一个就好,这里用 ...
- Django项目流程
创建项目和应用 django-admin.py startproject project_name cd project_name python manage.py startapp app_name ...
- 如何解决vuex因浏览器刷新数据消失,保持数据持久化问题?
vuex的一个全局状态管理的插件,但是在浏览器刷新的时候,内存中的state会释放.通常的解决办法就是用本地存储的方式保存数据,然后再vuex初始化的时候再赋值给state,此过程有点麻烦.因此可以使 ...
- javascript大神修炼记(6)——OOP思想(继承)
读者朋友们大家好,我们今天这一讲就接着前面的封装继续讲解,今天就是在前面内容上面的升级,OOP思想中的继承,我们就先来解释一下继承到底是什么意思,我们在什么地方会用到继续. 继承就是,后代继续祖先的一 ...
- 百度Webuploader 大文件分片上传(.net接收)
前阵子要做个大文件上传的功能,找来找去发现Webuploader还不错,关于她的介绍我就不再赘述. 动手前,在园子里找到了一篇不错的分片上传的帖子,参考之后,踏出了第一步.此文记录我这次实践的点滴,仅 ...
- Django实战(19):自定义many-to-many关系,实现Atom订阅
记得有人跟我说过,rails的has_many :through是一个”亮点“,在Django看来,该功能简直不值一提.rails中的many-to-many关联中,还需要你手工创建关联表(写 mig ...
- 黑马程序员_java基础笔记(07)...IO流
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— IO(InputStream,outputStream)字节流 (Reader,Wr ...
- Ubuntu 17.04 搭建 NodeJS
可以在云主机上执行以下的命令: apt-get update apt-get install -y python-software-properties software-properties-com ...
- Redis的一些配置
Redis的一些配置 daemonize 如果需要在后台运行,把该项设置为yes,默认为no pidfile 配置多个pid的地址,默认在/var/run/redis.pid bind 绑定ip,设置 ...