海量图片存储--MogileFS分布式存储集群的实现_weixin_34242819的博客-CSDN博客


本站和网页 https://blog.csdn.net/weixin_34242819/article/details/91629797 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

海量图片存储--MogileFS分布式存储集群的实现_weixin_34242819的博客-CSDN博客
海量图片存储--MogileFS分布式存储集群的实现
weixin_34242819
于 2014-05-10 10:43:54 发布
176
收藏
原文链接:http://blog.51cto.com/jungege/1409142
版权
分布式存储
    当下互联网飞速发展,海量并发所产生的数据量以几何方式增长,随着信息链接方式日益多样化,数据存储的结构也发生了变化,在这样的压力下我们不得不重新审视大量数据的存储所带来的挑战,比如:数据采集、数据存储、数据搜索、数据共享、数据传输、数据分析、数据可视化等一些列问题
   传统存储在面对海量数据存储时已经力不从心,比如纵向扩展受阵列空间限制、横向扩展受交换设备限制、节点受文件系统限制
   分布式存储的出现在在一定程度上缓解了这一问题
分布式存储基础介绍    
(一)多线程与进程的执行模式
#互不通信的多线程模式;
#基于共享容器协同的多线程模式;
#通过事件协同的多线程模式;
(二)基于输入设备变化、运算器的变化、存储器的变化分类
1)控制器的变化
# 透明模式
# 旁路模式
# 名称模式
# 规则服务器
2)存储器的变化
# 代理模式
# 名称服务
# 规则服务器
# master模型:前段节点存放元数据(name node),后端节点存放数据(data node)
(三)分布式系统的难点
# 缺乏全局时钟
# 面对故障的独立性
# 处理单点故障:①做冗余②降低单点故障的影响范围
#事务的挑战(ACID):①2pc两端式提交、②最终一致③BASE方法④CAP理论⑤Paxos
(四)分布式文件系统的设计目标
# 访问透明
# 位置透明
# 并发透明
# 失效透明
# 硬件透明
# 可拓展性
# 复制透明
# 迁移透明
(五)分布式文件系统的注重的特性
# Scalable 伸缩性
# Reliable 可靠性
# Cheap 性价比
(六)分布式事务的模型及规范
X/open: XA-----XA规范是开放群组关于分布式事务处理 (DTP)的规范
#DTP:Distributed Transaction Processing Reference Model 分布式事务处理
XA规范 定义了三个组件
#AP :Appliacation Program 应用程序
#RM :Resource Manager 资源管理器
#TM :Transaction Manager 事务管理器
简单来讲:AP通过RM来实现资源操作,如果AP当中执行一个完整的事务,则通过TM控制事务都执行或者不执行,如果事务执行失败则回滚;
其中TM管理哪些资源的事务需要事先向RM资源管理器注册申请
(七)面对事务挑战(ACID)的协调方式
#2PC(两段式提交):事务管理中双方都完成,或者都不完成
#CAP理论:C代表一致性,A代表可用性,P代表分区容错性
CAP理论一般满足以上两者,无法保证三者都满足;其中关系型数据库属于AC,其他环境一般为AP
#BASE :BA(Basically)表示基本可用,S(Soft state)表示接受一段时间内的状态不同步,E(Eventually consistent)最终一致性
#Paxos : 比2PC提交更轻量级的分布式事务的协调方式
分布式事务处理的一致性问题
强一致性
#ACID
#在单机环境中,强一致性可以由数据库的事务来保证
#在多级环境中,强一致性很难做到
#分布式事务:性能太差,在化联网的应用中不适合
弱一致性(包括最终一致性)
#通过提交处理的半同步、半异步或全异步,取得最终一致性效果
#最终一致性使得数据的提交具有延时性,而在一定范围时的延时性范围内(比如一秒),应用的可用性时正常的
集群内一致性算法实施过程案例
#基于合法票数(Quorum)和向量时钟(Vector Clock)
Quorum算法
#N :数据复制的节点量
#R :成功读取所依赖的最少节点数
#W :成功写操作所依赖的最少节点数
#W+R>N 表示强一致性 ;W+R<=N 属于弱一致性(保证最终一致性)
分布式存储文件系统类别
各种分布式存储文件系统介绍
#Google Filesystem :GFS+MapReduce擅长处理单个大文件
#Hadoop Distibuted Filesystem :GFS山寨版+MapReduce 擅长处理单个大文件
#GlusterFS :擅长处理单个大文件
#Taobao Filesystem :擅长处理海量小文件
#MogileFS:擅长处理海量小文件
#Ceph :PB级别的分布式文件系统
#MooseFS :通用简单
#Lustre :一种平行分布式文件系统
MofileFS原理
     MofileFS是一个开源的分布式文件系统,用于组件分布式文件集群。其主要特性包括:应用层组件、无单点故障、自动文件复制(复制单位不是文件而是class类)、传输中使用http协议,基于域的简单命名方式、具有比RAID更好的可靠性
核心角色
(1)tracker节点:借助于数据库保存各节点文件的元数据信息,保存每个域中所有键的存储位置分布,方便检索定位数据位置的同时并监控各个节点,告诉客户端存储区位置并指挥storage节点复制数据副本,进程名mogilefsd/端口7001
(2)database节点:为tracker节点提供数据存取
(3)storage节点:将指定域中的键转换为其特有的文件名存储在指定的设备文件中,转换后的文件名为值,storage节点自动维护键值对应关系,storage节点由于使用http进行数据传输,因此依赖于perlball,storage节点前段可以使用nginx进行反向代理,但需要安装nginx的第三方模块nginx-mogilefs-module-master,进程mogstored/7500端口,perlbal/7500端口
(4)Domain:一个域中的键值是唯一的,一个MogileFS可以有多个域,域可以存储不同应用类型的数据的容器
(5)Class:复制最小单位,文件属性管理,定义文件存储在不同设备上的分数
    客户端、tracker、Database、mogstore的关系图
       流程图
Nginx + MogileFS集群的实现
   架构图
         1 应用层发起GET请求到Ningx
         2 Nginx根据负载均衡机制随机代理到后台的tracker服务器(其中之一)
         3 tracker服务器将查询结果返回给Nginx
         4 Nginx将查询结构根据模块转换为合理的url发送给后端的mogstore存储服务器
         5 mogstore存储服务器将文件内容通过http协议返回给Nginx
         6 Nginx将结果返回给应用层客户端
  实现步骤
 1、MySQL服务器配置
mysql的编译安装请参照我的博客
mysql配置
1)授权root用户
#MariaDB [(none)]> grant all on *.* to root@'172.16.%.%' identified by '123456';
2)授权moguser用户
#MariaDB [(none)]> grant all on mogdb.* to 'moguser'@'172.16.%.%' identified by 'mogpass';
3)冲刷授权表
#MariaDB [mogdb]> flush privileges;
  2、172.16.13.2服务器安装tracker和mystore  
1)下载程序包:
MogileFS-Utils-2.19-1.el6.noarch.rpm
perl-MogileFS-Client-1.14-1.el6.noarch.rpm
perl-Net-Netmask-1.9015-8.el6.noarch.rpm
perl-Perlbal-1.78-1.el6.noarch.rpm
MogileFS-Server-2.46-2.el6.noarch.rpm
MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm
MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm
同时将所有rpm包 放到另外两个服务器上一份
#scp *.rpm 172.16.13.3:/root
#scp *.rpm 172.16.13.4:/root
2)安装
#yum -y install *.rpm perl-IO-AIO
3)配置tracker
# chown -R mogilefs.mogilefs /var/run/mogilefsd/ 指定为mogilefs用户和组
# mogdbsetup --dbhost=172.16.249.39 --dbport=3306 --dbname=mogdb --dbrootuser=root --dbrootpass=123456 --dbuser=moguser --dbpass=mogpass --yes 数据库初始化
MySQL服务器查看生成的数据库
#MariaDB [(none)]> show databases;
编辑tracker的配置文件
#cd /etc/mogilefs
#vim mogilefsd.conf 修改一下内容
db_dsn = DBI:mysql:mogdb:host=172.16.249.39
db_user = moguser
db_pass = mogpass
listen = 0.0.0.0:7001
#chmod -R mogilefs.mogilefs mogilefsd.conf
#service mogilefsd start 启动mogilefsd服务
#ss -ntl | grep 7001
4)配置mogstore
# mkdir /dfs/mogdata/dev1
# chown -R mogilefs.mogilefs /dfs/mogdata/dev1
# cd /etc/mogilefs
# vim mogstored.conf 修改如下内容
docroot = /dfs/mogdata
# chown -R mogilefs.mogilefs mogstored.conf
# service mogstored start 启动服务
# ss -tnlp
在trakers 中添加 mogstore存储主机
#mogadm --trackers=172.16.13.2:7001 host add 172.16.13.2 --ip=172.16.13.2 --status=alive
# mogadm --trackers=172.16.13.2:7001 host list
   此时已经实现172.16.13.2服务器即是tracker,也是mogstore存储
将配置文件mogilefsd.conf mogstored.conf 复制到 172.16.13.3 与172.16.13.4 上
#cd /etc/mogilefs
#scp * 172.16.13.3:/etc/mogilefs
#scp * 172.16.13.4:/etc/mogilefs
 3、172.16.13.3服务器配置
1) 安装
# cd /root (该目录已经有从 172.16.13.2传送的所有rpm包)
# yum -y install *.rpm perl-IO-AIO
2) 配置cheker
# service mogilefsd start
# ss -ntl | grep 7001
3)配置mogstore
# mkdir -pv /dfs/mogdata/dev2
# chown -R mogilefs.mogilefs /dfs/mogdata/dev2
# service mogstored start
# ss -ntlp 查看 7500 7501端口侦听
4)tracker中添加mogstore存储主机
# mogadm --trackers=172.16.13.3:7001 host add 172.16.13.3 --ip=172.16.13.3 --status=alive
# mogadm --trackers=172.16.13.3:7001 host list
  4、172.16.13.4服务器配置
1)安装
#cd /root
#yum -y install *.rpm perl-IO-AIO
2)配置tracker
#service mogilefsd start
#ss -ntl | grep 7001
配置文件无需更改
3)配置mogstore
#mkdir -pv /dfs/mogdata/dev3
#chown -R mogilefs.mogilefs /dfs/mogdata/dev3 创建mogstore数据目录
#service mogstored start
# ss -ntlp 查看7500 7501端口
4)添加mystore存储主机
# mogadm --trackers=172.16.13.4:7001 host add 172.16.13.4 --ip=172.16.13.4 --status=alive
# mogadm --trackers=172.16.13.4:7001 host list
以上三个节点全部配置完 trackers 与 mystore ,接下来我们添加三个节点上的设备、添加域、添加类文件
5)添加存储设备
在172.16.13.4 tracker服务器配置即可
# mogadm --trackers=172.16.13.4:7001 device add 172.16.13.2 1
# mogadm --trackers=172.16.13.4:7001 device add 172.16.13.3 2
# mogadm --trackers=172.16.13.4:7001 device add 172.16.13.4 3
# mogadm --trackers=172.16.13.4:7001 device list
6)分布式系统添加domain 域
# mogadm --trackers=172.16.13.4:7001 domain add files
# mogadm --trackers=172.16.13.4:7001 domain add p_w_picpaths
# mogadm --trackers=172.16.13.4:7001 domain list
7)在域(domain)中添加类(class)文件
### class 是在mystore中最小存储与复制单元
为p_w_picpaths域创建几个class文件
# mogadm --trackers=172.16.13.4:7001 class add p_w_picpaths class0 --mindevcount=2 至少2个副本
# mogadm --trackers=172.16.13.4:7001 class add p_w_picpaths class1 --mindevcount=2
# mogadm --trackers=172.16.13.4:7001 class add p_w_picpaths class2 --mindevcount=2
# mogadm --trackers=172.16.13.4:7001 class add p_w_picpaths class3 --mindevcount=2
# mogadm --trackers=172.16.13.4:7001 class list 查看创建的类文件
现在为止,终于将mogilefs 集群搭建完毕,接下来我们配置nginx反向代理服务器
     5、Nginx服务器配置
基于第三方模块ningx-mogilefs-mudule=master 实现http反向代理
1)下载源码包nginx-1.4.7.tar.bz (自行官网下载即可)
下载nginx支持mogfile的第三方模块 nginx-mogilefs-module-master.zip
2)编译安装
# tar -xf nginx-1.4.7.tar.bz
# unzip nginx-mogilefs-module-master.zip
创建nginx用户与组
# gourpadd -r nginx
# useradd -r -g nginx nginx
开始编译安装
#cd nginx-1.4.7
#./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-debug --add-module=../nginx-mogilefs-module-master
# make && make install
3) 为nginx 提供服务脚本
# vim /etc/rc.d/init.d/nginx
#!/bin/sh
# nginx - this script starts and stops the nginx daemon
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
restart() {
configtest || return $?
stop
sleep 1
start
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
force_reload() {
restart
configtest() {
$nginx -t -c $NGINX_CONF_FILE
rh_status() {
status $prog
rh_status_q() {
rh_status >/dev/null 2>&1
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
为此脚本赋予执行权限:
# chmod +x /etc/rc.d/init.d/nginx
添加至服务管理列表,并让其开机自动启动:
# chkconfig --add nginx
# chkconfig nginx on
启动服务并测试:
# service nginx start
# ss -ntl | grep 80
4 )在分布式集群系统上上传几个图片和文件
172.16.13.2服务器上操作即可因为它是三个trackers之一
# mogupload --trackers=172.16.13.2:7001 --domain=p_w_picpaths --key='/p_w_picpaths/1.png' --file='/usr/share/backgrounds/default_1920x1200.png'
# mogupload --trackers=172.16.13.2:7001 --domain=p_w_picpaths --key='/p_w_picpaths/2.png' --file='/usr/share/backgrounds/default_1920x1440.png'
# mogupload --trackers=172.16.13.2:7001 --domain=files --key='/file/fstab.html --file='/etc/fstab'
# moglistkeys --trackers=172.16.13.2:7001 --domain=p_w_picpaths
# mogfileinfo --trackers=172.16.13.3:7001 --domain=p_w_picpaths --key='/p_w_picpaths/1.png' 查看图片信息
5) 编辑nginx配置文件
在server段添加两个location,一个负责图片文件的访问,一个负责文本文件的访问控制
location ~* ^(/p_w_picpaths/.*)$ {
mogilefs_tracker 172.16.13.3:7001;
mogilefs_domain p_w_picpaths;
mogilefs_pass $1 {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
location ~* ^(/file/.*)$ {
mogilefs_tracker 172.16.13.2:7001;
mogilefs_domain files;
mogilefs_pass $1 {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
# service nginx restart 重读配置文件
    客户端测试:文本文件
    客户端测试:图片文件
     nginx的反向代理实现
6)nginx 实现负载均衡调度
http段添加一个upstream,server中调用即可
#vim /etc/nginx/nginx.conf 重新编辑配置文件增加如下内容
upstream mogcluster {
server 172.16.13.2:7001;
server 172.16.13.3:7001;
server 172.16.13.4:7001;
其中一个location调用定义好的upstream
location ~* ^(/p_w_picpaths/.*)$ {
mogilefs_tracker mogcluster;
mogilefs_domain p_w_picpaths;
mogilefs_pass $1 {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
#service nginx restart
    客户端测试
    nginx负载均衡调度实现
  PS:已实现nginx对后端mogileFS分布式集群的反向代理与负载均衡调度,水平有限,项目并不复杂,还需完善(mysql可以实现主从复制和读写分离,nginx服务器存在单点故障)如有错误之处请指出!
转载于:https://blog.51cto.com/jungege/1409142
weixin_34242819
关注
关注
点赞
收藏
评论
海量图片存储--MogileFS分布式存储集群的实现
分布式存储 当下互联网飞速发展,海量并发所产生的数据量以几何方式增长,随着信息链接方式日益多样化,数据存储的结构也发生了变化,在这样的压力下我们不得不重新审视大量数据的存储所带来的挑战,比如:数据采集、数据存储、数据搜索、数据共享、数据传输、数据分析、数据可视化等一些列问题 传统存储在面对海量数据存储时已经力不从心,比如纵向扩展受阵列空间限制、横向扩展受交换设备...
复制链接
扫一扫
图片分布式存储 - WebClient
07-10
图片分布式存储 - WebClient - 负载均衡
海量图片的分布式存储及负载均衡研究(浅析)
04-12
NULL
博文链接:https://laihuaiqing.iteye.com/blog/1702590
参与评论
您还未登录,请先
登录
后发表或查看评论
FastDFS和MogileFS的对比
架构师的成长之路的博客
06-07
5084
FastDFS和MogileFS的对比国人做的用C语言写的轻量级的分布式文件存储,只有 tracker和storage 节点。没有使用数据库。FastDFS设计时借鉴了MogileFS的一些思路。FastDFS是一个完善的分布式文件存储系统,通过客户端API对文件进行读写。可以说,MogileFS的所有功能特性FastDFS都具备,MogileFS网址:http://www.danga.com/m...
架构高性能海量图片服务器的技术要素
weixin_33709590的博客
10-15
109
为什么80%的码农都做不了架构师?>>>
...
MogileFS简介
海恋北斗星
09-20
183
MogileFS简介
MogileFS是什么
MogileFS是一款开源的、高性能的、分布式的文件系统,用于组建分布式文件集群,跟Memcached是同门,都由LiveJournal旗下Danga Interactive公司开发。
MogileFS能干什么
最主要的功能就是:用来存取海量文件,而不用关心具体的...
分布式文件系统之MogileFS
任何技能都是从模仿开始,逐步升华。
05-26
1840
MogileFS 是一个开源的分布式文件系统,用于组建分布式文件集群,能够做到不需要特殊的核心组件、无单点失败、自动的文件复制、比RAID好多了、传输中立,无特殊协议(客户端可以通过NFS或HTTP来和MogileFS通 信)、简单的命名空间、不用共享任何东西、不需要RAID、不会碰到文件系统本身的不可知情况 等等优点。
【大型网站技术实践】初级篇:海量图片的分布式存储设计与实现
爱代码也爱生活
07-10
2198
一、研究背景:性能与资金,二者可兼得乎?
1.1 那么问题来了?
  随着互联网的发展,许多大中型的网站都保存了大量的图片资源,用户在访问这些图片资源异常丰富的网站(如淘宝、京东等电子商务网站)时,网页中的图片信息占据了页面数据流量的很大部分,那么问题也来了:
  (1)由于受客户端浏览器限制,无法从一台服务器上同时下载页面中所有图片信息;
PS:当一个网页被浏览时,Web服务
图片文件的分布式存储 ( 简单的负载均衡)
Fanbin168的专栏
11-07
5483
1。设计思路:
假如有2台存储图片的服务器,服务器1 和服务器 2
服务器1的地址是:192.168.12.1:8088
服务器2的地址是:192.168.12.2 :8089
服务器1上有一个专门处理用户从客户端发过来的图片的一般处理程序,叫 ImageUp.ahx
服务器2上也有一个专门处理用户从客户端发过来的图片的一般处理程序,叫 ImageUp.ahx
我们首先有这
星云存储:分布式一致图存储
最新发布
02-24
English |分布式,可伸缩,闪电般的图形数据库
什么是星云图?
星云图( Nebula Graph)是一个开放源代码图数据库,能够托管具有数十亿个顶点(节点)和数万亿条边(具有几毫秒的延迟)的超大规模图。
与其他图形数据库解决方案相比, Nebula Graph具有以下优点:
对称分布
存储与计算分离
横向可扩展性
通过RAFT协议实现强大的数据一致性
类似SQL的查询语言
基于角色的访问控制可提供更高级别的安全性
路线图
请参阅我们的,了解星云图即将推出的内容。
图形可视化
访问 ,以图形方式浏览Web UI上的图形数据。
支持的客户
快速开始
阅读文章以快速。
请注意,您必须先, 或来安装Nebula Graph ,然后才能真正开始使用它。 如果您喜欢视频教程,请访问我们的。
获得帮助
如果您在使用Nebula Graph时遇到任何问题,请联系以寻求帮助:
文献资料
建筑
找到一个适合的分布式文件系统之各种分布式文件系统优缺点对比
热门推荐
Prepared的博客
05-19
2万+
一、各种分布式文件系统对比
1.1 表格对比
技术
优点
缺点
总结
1、 HDFS
1、大数据批量读写,吞吐量高;
2、一次写入,多次读取,顺序读写;
1、交互式应用,低延迟很难满足;
2、不支持多用户并发写相同文件。
...
一种基于HBase韵海量图片存储技术
崆峒山人
06-13
3558
一种基于HBase韵海量图片存储技术
针对海量图片存储,已有若干个基于Hadoop的方案被设计出来。这些方案在系统层小文件合并、全局名字空间以及通用性方面存在不足。本文基于HBase提出了一种海量图片存储技术,成功解决了上述问题。本文将介绍基于HBase海量图片存储技术方案,分析其原理及优势,该方案在城市交通监控中得到应用验证。
随着互联网、云计算及
MogileFS 安装笔记
litwhy的专栏
04-28
456
一. 准备工作 1. 装好Mysql (请确认操作系统版本是64位还是32位,请装对应的版本,安装过程省略) 2. 为mogile创建用户 # useradd mogile 3.用Mysql客户端为MogileFS创建数据库和用户 >create database mogilefs;
图片文件的分布式存储方案
weixin_30527143的博客
08-06
268
目前架构,因为网站上有很多<img src=""/>,这将频繁的请求服务器,当图片比较多的时候,可以考虑创建图片服务器
图片服务器搭建
转载于:https://www.cnblogs.com/XZhao/p/7295074.html...
图解NebulaGraph-开源国产分布式图数据库!
Tech Station
12-17
1万+
开源!国产!分布式图数据库-Nebula
Facebook - 150亿张照片海量存贮架构
半道出家的和尚
08-18
1435
Facebook 的照片分享很受欢迎,迄今,Facebook用户已经上传了150亿张照片,加上缩略图,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。旧的 NFS 照片架构 老的照片系统架构分
图片负载均衡
天道酬勤
02-22
298
海量图片的分布式存储及负载均衡研究(浅析)
摘 要:针对海量图片给网站带来的访问速度下降、性能压力增大和I/O瓶颈等问题,提出一种海量图片的分布式存储及负载均衡技术。通过把图片数据和网站内容分开部署、在数据库中记录和维护图片服务器状态信息等方法实现图片和页面数据的分离。实验结果表明,该技术能提高网站的访问速度和运行效率,并可动态增加图片服务器的数量满足日益增加的性能需求。
  关键词:海量...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
weixin_34242819
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
162
原创
周排名
102万+
总排名
117万+
访问
等级
7282
积分
5506
粉丝
245
获赞
19
评论
1328
收藏
私信
关注
热门文章
excel筛选后怎么粘贴数据
42739
可以把将日文汉字转换成平假名、片假名、罗马音的KaKaSi
30122
xshell5产品秘钥
23904
如何查看IntelliJ IDEA的版本信息
12328
无法初始化SFTP协议。主机是SFTP服务器吗
9528
最新评论
分支限界---->15-谜问题
处眠:
请问博主,那本书上有这个的详细介绍啊
如何在blast输出结果中添加物种名称
bjhgdxlj:
没有gi号怎么办?出来的都是这种gb|KU180689.1|,ref|XM_011245221.3|
Android 悬浮于输入法软键盘顶部的输入框
1976222027:
dialog popu wm都可以实现
FFmpeg视频播放(解封装)
zylwx_1987:
源码呢
如何在blast输出结果中添加物种名称
qq_41507623:
试试 accession2taxid
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
一些东西
【three.js练习程序】鼠标滚轮缩放
java 加解密实例(对称——非对称)
2019年394篇
2018年651篇
2017年896篇
2016年543篇
2015年434篇
2014年352篇
2013年307篇
2012年275篇
2011年179篇
2010年165篇
2009年123篇
2008年88篇
2007年71篇
2006年38篇
2005年16篇
2004年8篇
目录
目录
最新文章
一些东西
【three.js练习程序】鼠标滚轮缩放
java 加解密实例(对称——非对称)
2019年394篇
2018年651篇
2017年896篇
2016年543篇
2015年434篇
2014年352篇
2013年307篇
2012年275篇
2011年179篇
2010年165篇
2009年123篇
2008年88篇
2007年71篇
2006年38篇
2005年16篇
2004年8篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值