原文地址: 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集群中文件服务器的讨论的更多相关文章

  1. web集群中经常使用的session同步解决方式及对照

    随着站点的功能越来越多,用户量越来越庞大,单节点模式已经严重不能支撑整个系统的正常运作,轻则用户页面訪问时间越来越慢.重则就会导致整个系统瘫痪.这时候 就须要优化或调整眼下的架构,大部分人就会採用各种 ...

  2. 如何在集群中获得处理本次请求的web容器的端口号?

    系统四台机器,每台机器部署四个Tomcat Web容器.现需要根据端口号随机切换到映射的数据源,若一台机器一个Tomcat则用IP识别,可现在一台机器四个Tomcat,因此还需要获得Web容器的端口号 ...

  3. 【转】web集群时session同步的3种方法

    转载请注明作者:海底苍鹰地址:http://blog.51yip.com/server/922.html 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问 ...

  4. 负载均衡集群中的session解决方案

    前言 在我们给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java,只要使用服务器保存Session,在做负载均衡时都需要考 ...

  5. Apache shiro集群实现 (八) web集群时session同步的3种方法

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  6. web集群时session同步的3种方法[转]

    在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...

  7. 针对负载均衡集群中的session解决方案的总结

    在日常运维工作中,当给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP.Python.Ruby还是Java语言环境,只要使用服务器保存Session,在做负 ...

  8. haproxy+keepalived实现web集群高可用性[转]

    负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将“请求”.“访问”的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些 ...

  9. web集群时session同步的3种方法

    在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...

随机推荐

  1. 20155225 2006-2007-2 《Java程序设计》第四周学习总结

    20155225 2006-2007-2 <Java程序设计>第四周学习总结 教材学习内容总结 对"是一种"语法测试几次之后,总结一句:满足"是一种" ...

  2. 利用Octopress在github pages上搭建个人博客

    利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fed ...

  3. CentOS7.5搭建ELK6.2.4集群及插件安装

    一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...

  4. day1作业:登录接口

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路: (1)用户输入用户名: (2)去锁定文件中验证用户名是否锁定: (3)去当前用户验证用户是否存在: ...

  5. USACO 4.3 Street Race

    Street RaceIOI'95 Figure 1 gives an example of a course for a street race. You see some points, labe ...

  6. Django实战(19):自定义many-to-many关系,实现Atom订阅

    记得有人跟我说过,rails的has_many :through是一个”亮点“,在Django看来,该功能简直不值一提.rails中的many-to-many关联中,还需要你手工创建关联表(写 mig ...

  7. C语言可变参数个数

    #include <stdio.h>#include <stdarg.h> void test(const char * format, ...); int main(void ...

  8. PHP 数组的添加和读取

    在实际的开发中,会经常使用数组的添加和读取.这里把经常使用的操作记下来,以备以后查阅. <?php //一维数值数组 $list = array('wang','god'); $list[] = ...

  9. PHP接入微信H5支付

    开发前配置 进行代码接入前,需在微信后台填写授权回调域名,此域名必须经过ICP备案 开发主要流程 用户下单时选择微信支付 商户进行业务逻辑处理并调用微信统一下单接口,微信H5交易类型为:trade_t ...

  10. redis与DB数据同步问题

    Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了Pyt ...