存储服务器

海量图片的分布式存储及负载均衡研究(浅析)

半世苍凉 提交于 2019-12-02 19:11:04
摘 要:针对海量图片给网站带来的访问速度下降、性能压力增大和I/O瓶颈等问题,提出一种海量图片的分布式存储及负载均衡技术。通过把图片数据和 网站内容分开部署、在数据库中记录和维护图片服务器状态信息等方法实现图片和页面数据的分离。实验结果表明,该技术能提高网站的访问速度和运行效率,并可 动态增加图片服务器的数量满足日益增加的性能需求。   关键词:海量图片;分布式存储;负载均衡   【Abstract】Aiming at the problems of the mass images can cause to Web site such as lower access speed, more performance pressure, I/Operformance bottle-neck, etc., a technology of distributed store and load balance for mass images is proposed. By the means of deploying Website pages and images separately and recording status of image servers in database, solves the problem of separation for image data and

Linux 软件及作用

旧巷老猫 提交于 2019-12-02 09:44:15
1.Cgi CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,将web服务器和网页的执行程序连接到一起,其程序须运行在网络服务器上,apache调用时需每次都激活一次cgi,并且这种模式php不与服务器一起启动 2.Fastcgi 是一个可伸缩架构的cgi开放扩展,可以应用于各种编程语言,用来管理php的cgi进程,可以将cgi放置于内存中,不需要每次都激活cgi进程,提高解析性能,这种模式php与服务器一起启动 3.Php-fpm Php fastcgi 的进程管理器,可以根据访问压力动态唤起和销毁cgi进程,有效利用内存,可以平滑重载php配置php的进程管理如果php是汽车,打个比方:php-fpm就是车队,其中一个进程就是调度员,负责分配每辆车的任务。 参考: http://www.nowamagic.net/librarys/veda/detail/1319 4.Zendopcache 用于缓存php编译后的文件,比php自带的APC等缓存插件性能更加优异,使用它可以极大的提升php性能。原理:对php编译后的文件进行缓存,之后的调用直接调用缓存不必编译 5.Rpm Rpm是一款软件包管理工具,类似于360软件管理,它可以升级,卸载,安装管理软件,rpm包则是可执行的二进制文件

彻底理解cookie,session,token

北战南征 提交于 2019-12-02 05:12:02
彻底理解cookie,session,token 发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了 3、这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id ! 如果访问服务器多了, 就得由成千上万,甚至几十万个。 这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器组成了一个集群, 小F通过机器A登录了系统, 那session id会保存在机器A上, 假设小F的下一次请求被转发到机器B怎么办? 机器B可没有小F的

块存储、文件存储、对象存储意义及差异

删除回忆录丶 提交于 2019-12-02 02:44:45
关于块存储、文件存储、对象存储方面的知识在知乎上看到了个很好的解答:https://www.zhihu.com/question/21536660 通俗易懂,查了些资料做了详细的补充。 块存储 典型设备:磁盘阵列、硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的。 就是说例如:磁盘阵列里面有5块硬盘,然后可以通过划逻辑盘、做Raid、或者LVM等方式逻辑划分出N个逻辑的硬盘。但是逻辑盘和物理盘是两个完全不同的概念。假设每个硬盘100G,共有5个硬盘,划分为逻辑盘也为5个,每个100G,但是这5个逻辑盘和原来的5个物理盘意义完全不同了。例如第一个逻辑盘第一个20G可能来自物理盘1,第二个20G来自物理盘2,所以逻辑盘是多个物理盘逻辑虚构出来的硬盘。 接着块存储会采用映射的方式将这几个逻辑盘映射给主机,主机上面的操作系统会识别到有5块硬盘,但是操作系统是无法区分到底是物理盘还是逻辑盘,它一概就认为只是5块裸的物理硬盘而已,跟直接拿一块物理硬盘挂载到操作系统没区别,至少操作系统感知上没有区别的。 在此方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用,与平常主机内置的硬盘无差异。 优点 (1)这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护; (2)可以将多块廉价的硬盘组合起来,称为一个大容量的逻辑盘对外提供服务,提高了容量; (3)写入数据时

分布式文件系统FastDFS详解

99封情书 提交于 2019-12-02 00:07:42
上一篇文章《 一次FastDFS并发问题的排查经历 》介绍了一次生产排查并发问题的经历,可能有些人对FastDFS不是特别的了解,因此计划写几篇文章完整的介绍一下这个软件。 为什么要使用分布式文件系统呢? 嗯,这个问题问的好,使用了它对我们有哪些好处?带着这个问题我们来往下看: 单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。例如: resources\static\file 、 resources\static\img 等。 优点 :这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术,保存数据库记录和访问起来也很方便。 缺点 :如果只是后台系统的使用一般也不会有什么问题,但是作为一个前端网站使用的话就会存在弊端。一方面,文件和代码耦合在一起,文件越多存放越混乱;另一方面,如果流量比较大,静态文件访问会占据一定的资源,影响正常业务进行,不利于网站快速发展。 独立文件服务器 随着公司业务不断发展,将代码和文件放在同一服务器的弊端就会越来越明显。为了解决上面的问题引入独立图片服务器,工作流程如下:项目上传文件时,首先通过ftp或者ssh将文件上传到图片服务器的某个目录下,再通过ngnix或者apache来访问此目录下的文件

理解session,cookie和token

此生再无相见时 提交于 2019-12-01 22:07:34
发展史 很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了 这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id ! 如果访问服务器多了, 就得由成千上万,甚至几十万个。 这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器组成了一个集群, 小F通过机器A登录了系统, 那session id会保存在机器A上, 假设小F的下一次请求被转发到机器B怎么办? 机器B可没有小F的 session id啊。 有时候会采用一点小伎俩:

服务器硬件和centos7.6安装、快捷键的使用

南笙酒味 提交于 2019-12-01 19:23:36
一、服务器的主要硬件组成部分 1.cpu CPU的作用:主要有运算和控制功能 关注信息点:路数和核数(路数就是服务器有几颗cpu;核数就是并行处理数据的能力) 2.内存 内存的作用:临时存储数据缓解磁盘磁盘的压力,存储速度快相比磁盘 关注信息点:缓冲和缓存(缓冲是写在内存的缓冲区,不需要写进磁盘;缓存是从磁盘中读入内存中的缓存区) a、 高并发存储/读取数据(门户网站)过程 存储数据: CPU接收处理数据 --> 内存中保存 --> 永久保存到磁盘 缓解存储压力 读取数据: CPU接收处理数据 --> 内存中读取 <-- 磁盘中热点数据 提升读取效率 b、低并发存储/读取数据(中小企业) 被用户访问时, 读多写少情况过程 存储数据: CPU接收处理数据 --> 永久保存到磁盘 读取数据: CPU接收处理数据 --> 内存中读取 <-- 磁盘中热点数据 提升读取效率 c、内存和其他设备的存储效率对比 3.磁盘 磁盘的作用:永久保存数据信息 关注信息点:容量、接口、种类、转速(容量是你要多大空间的存储空间;接口、种类、转速是决定数据读取的效率) a、容量的换算单位:1KB=1024字节 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB (系统换算是按1024,磁盘生产厂家是按1000的单位换算。例如:厂商的1TB=1TB*1000*1000

电脑硬件详细介绍

坚强是说给别人听的谎言 提交于 2019-12-01 19:23:06
一 .系统硬件分类说明 按照硬件用途进行分类: 家用硬件设备: 台式机 笔记本 企业硬件设备: 服务器设备 按照硬件性能进行分类: 机架服务器: 互联网环境中 (dell IBM联想 HP 华为 浪潮) 普通机架服务器(几万 ~ 10万+) 小型机服务器 (几十万~ 100万+) 大型机服务器 (百万 ~ 几百万+) 刀片服务器: 物理空间限制 性能要求 塔式服务器: 家用服务器设备 二.按照硬件外观进行分类 1U服务器: U服务器厚度 1U=4.45cm 2U服务器: 4U服务器: 三.系统硬件组成部分 1) CPU(中央处理器) 大脑 运算/控制 2) 硬盘 可以存储数据(永久存储) 3) 主板 可以串联多个设备 4) 内存 可以存储数据(临时存储) 5) 电源 提供设备供电 6) 风扇 散热 7) 网卡 实现和其他主机设备通讯 8) 光驱 安装系统 9) 阵列卡 将多个硬盘整合成一块 10) 远程管理卡 远程开机/远程安装系统 四.CPU 作用: 运算/控制 关注信息: 路数 - 服务器中CPU颗数(单路1颗 双路2颗 三路3颗 四路4颗) 4路4颗就是代表4个cpu( 路.颗=量词 ) 核数 - 服务器并行处理任务能力(软件运行起来产生进程信息) 几核处理(核)字就是代表性能;4核,8核处理器也是只代表一个cpu处理器 五.磁盘 作用: 存储数据信息(永久

Redis深度历险,全面解析Redis14个核心知识点

拥有回忆 提交于 2019-12-01 19:04:32
本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 一、概述 二、数据类型STRING LIST SET HASH ZSET 三、数据结构字典 跳跃表 四、使用场景计数器 缓存 查找表 消息队列 会话缓存 分布式锁实现 其它 五、Redis 与 Memcached数据类型 数据持久化 分布式 内存管理机制 六、键的过期时间 七、数据淘汰策略 八、持久化RDB 持久化 AOF 持久化 九、事务 十、事件文件事件 时间事件 事件的调度与执行 十一、复制连接过程 主从链 十二、Sentinel 十三、分片 十四、一个简单的论坛系统分析文章信息 点赞功能 对文章进行排序 一、概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。 二、数据类型 What Redis data structures look

FastDFS安装 --> 测试

陌路散爱 提交于 2019-12-01 17:23:16
自己闲着没事,在小黑上虚拟了 4 个 centos 64 的系统,用来安装分布式 fastdfs 、 nginx 负载均衡,过程一路艰辛,搞了一个通宵都没弄好,终于在第二天的傍晚终于弄好了,记录一下过程。 有时候看书会犯糊涂,看完了都不知道将了啥,只有动手坐坐,啥玩意都明白差不多了。 有时候太懒了,哎,这是病,得治。 FastDFS安装 : FastDFS是一个国产开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站、视频网站等等.FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage).跟踪器主要做调度工作,在访问上起负载均衡的作用. 什么是FastDFS : FastDFS是一个国产开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站、视频网站等等. FastDFS原理 : 存储节点采用了分组(group)的方式。存储系统由一个或多个group组成,group与group之间的文件是相互独立的,所有group的文件容量累加就是整个存储系统中的文件容量