存储服务器

FastDFS-分布式存储集群部署

家住魔仙堡 提交于 2019-12-03 23:07:15
什么是FastDFS? FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size < 500MB)为载体的在线服务,如相册网站、视频网站等等。 FastDFS架构 FastDFS的工作流程 上传文件 上传的流程: client询问tracker上传到的storage tracker返回一台可用的storage client直接和storage通信,完成文件上传 选择tracker server 集群中tracker之间是对等关系,client在上传文件时可以使用任意一个tracker 选择存储group 当tracker接收到上传文件的请求的时候,会为该文件分配一个可以存储的group。目前支持选择的group的规则有: Round robin,轮询 Sepcified group,上传的时候指定某个group Load balance,生成存储空间较多的group优先 选择storage server 当选定group后,tracker会在group内选择一个storage server给client,目前支持选择server的规则有: Round robin,轮询(默认) 根据IP地址进行排序,选择第一个服务器(IP地址最小者) 根据优先级进行排序,上传优先级由storage

flask中cookie和session介绍

孤者浪人 提交于 2019-12-03 23:02:35
flask中 cookie和session介绍 一、 cookie: 在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。 二、 session: session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。 三、 cookie和session结合使用: web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式: 1、存储在服务端:通过cookie存储一个session_id

flask中cookie和session介绍

限于喜欢 提交于 2019-12-03 22:51:24
flask中 cookie和session介绍 一、 cookie: 在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。 二、 session: session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。 三、 cookie和session结合使用: web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式: 1、存储在服务端:通过cookie存储一个session_id

Flask:Flask中使用会话技术

感情迁移 提交于 2019-12-03 17:27:25
1、会话技术cookie和session (1)cookie    在网站中, HTTP 请求是无状态的。也就是说,即使第一次用户访问服务器并登录成功后,第二次请求服务器依然不知道当前发起请求的是哪个用户。 cookie 的出现就是为了解决这个问题,第一次登录后服务器返回一些数据( cookie )给浏览器,浏览器将这些数据保存在本地。当用户发起第二次请求的时候,浏览器自动的将上次请求得到的 cookie 数据携带给服务器,服务器通过这些 cookie 数据就能分辨出当前发起请求的是哪个用户了。 cookie 存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过 4K ,因此使用 cookie 只能存储一些少量的数据。 (2)session    session 与 cookie 的作用有点类似,都是为了存储用户相关的信息。不同的是, cookie 是存储在本地浏览器, session 存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源。 (3)cookie和session的结合使用    web 开发发展至今, cookie 和 session 的使用已经出现了一些非常成熟的方案。在如今的市场和企业里,一般有两种存储方式: 存储在服务器:通过 cookie 存储一个 session_id

漫谈互联网架构

对着背影说爱祢 提交于 2019-12-03 14:07:00
互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。 存储层技术SQL SQL即我们通常所说的关系数据。前几年NoSQL火了一阵子,很多人都理解为NoSQL是完全抛弃关系数据,全部采用非关系型数据。但经过几年的试验后,大家发现关系数据不可能完全被抛弃,NoSQL不是No SQL,而是Not Only SQL,即NoSQL是SQL的补充。 所以互联网行业也必须依赖关系数据,考虑到Oracle太贵,还需要专人维护,一般情况下互联网行业都是用MySQL、PostgreSQL这类开源数据库。这类数据库的特点是开源免费,拿来就用;但缺点是性能相比商业数据库要差一些。随着互联网业务的发展,性能要求越来越高,必然要面对一个问题:将数据拆分到多个数据库实例才能满足业务的性能需求(其实Oracle也一样,只是时间早晚的问题)。 数据库拆分满足了性能的要求,但带来了复杂度的问题:数据如何拆分、数据如何组合?这个复杂度的问题解决起来并不容易,如果每个业务都去实现一遍,重复造轮子将导致投入浪费、效率降低,业务开发想快都快不起来。 所以互联网公司流行的做法是业务发展到一定阶段后,就会将这部分功能独立成中间件,例如百度的DBProxy、淘宝的TDDL。不过这部分的技术要求很高,将分库分表做到自动化和平台化

Flask中的session机制

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 11:03:35
cookie和session cookie:网站中,http请求是无状态的,第一次和服务器连接后并且登陆成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是解决了改问题,第一次登陆后服务器返回数据(cookie是存储数据的一种格式)给浏览器,然后浏览器保存到本地,用户第二次请求的时候,就会携带cookie数据自动携带给服务器,服务器通过浏览器携带的数据就能判断当前用户。cookie存储数据有限,不同浏览器不同的存储大小,但一般不超过4kb,因此cookie只能存储小量数据。 session:session与cookie类似,都是存储用户相关信息,不同的是cookie存储在本地浏览器,session存储在服务器,存储在服务器的数据会更安全。但是存储在服务器会占用服务器的资源。 cookie和session的结合使用: 存储在服务端:通过cookie存储一个session_id,具体数据保存在session(存储数据的方式)中。用户如果已经登陆服务器会在cookie中保存一个session_id,下次请求的时候会把sessin_id携带上来,服务器根据session_id在session库中获取用户的session数据,就可以知道用户是谁。专业术语叫:sever side session flask中将session数据加密,存储在cookie中

hdfs、tfs、fastdfs、Tachyon

爱⌒轻易说出口 提交于 2019-12-03 09:25:46
hdfs 架构设计 HDFS按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。 NameNode:是Master节点,是管理者。1、管理数据块映射;2、处理客户端的读写请求;3、配置副本策略;4、管理HDFS的名称空间; NameNode保存的metadata包括文件ownership和permission , 文件包含的block信息 , Block保存在那些DataNode节点上(这部分数据并非保存在NameNode磁盘上的,它是在DataNode启动时上报给NameNode的,Name接收到之后将这些信息保存在内存中), NameNode的metadata信息在NameNode启动后加载到内存中 , Metadata存储到磁盘上的文件名称为fsimage , Block的位置信息不会保存在fsimage中 , Edits文件记录了客户端操作fsimage的日志,对文件的增删改等。用户对fsimage的操作不会直接更新到fsimage中去,而是记录在edits中 SecondaryNameNode:分担namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。 部署方式和使用方法 Hdfs https://blog.csdn.net/qq

Session机制详解及分布式中Session共享解决方案

旧巷老猫 提交于 2019-12-03 08:54:49
一、为什么要产生Session   http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的。   为什么是无状态的呢?因为浏览器与服务器是使用socke套接字进行通信,服务器将请求结果返回给浏览器之后,会关闭当前的socket链接,而且服务器也会在处理页面完毕之后销毁页面对象。   然而在Web应用的很多场景下需要维护用户状态才能正常工作(是否登录等),或者说提供便捷(记住密码,浏览历史等),状态的保持就是一个很重要的功能。因此在web应用开发里就出现了保持http链接状态的技术:一个是cookie技术,另一种是session技术。 二、Session有什么作用,如何产生并发挥作用   要明白Session就必须要弄明白什么是Cookie,以及Cookie和Session的关系。   1、什么是Cookie   Cookie技术是http状态保持在客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。   2、Cookie的产生   当用户首次使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着,服务器在向客户端回传相应的超文本的同时也会发回这些个人信息

【1101 | Day58】一篇文章彻底理解cookie,session,token

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

高可用的MongoDB集群

匿名 (未验证) 提交于 2019-12-03 00:40:02
1.序言   MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库。 它使用 C++编写。MongoDB 包含一下特点: l? 面向集合的存储:适合存储对象及JSON形式的数据。 l? 动态查询:Mongo 支持丰富的查询方式,查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。 l? 完整的索引支持:包括文档内嵌对象及数组。Mongo 的查询优化器会分析查询表达式,并生成一个高效的查询计划。 l? 查询监视:Mongo包含一个监控工具用于分析数据库操作性能。 l? 复制及自动故障转移:Mongo 数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移。 l? 高效的传统存储方式:支持二进制数据及大型对象(如:照片或图片)。 l? 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。 2.背景   MongoDB 的主要目标是在键值对存储方式(提供了高性能和高度伸缩性) 以及传统的 RDBMS(关系性数据库)系统,集两者的优势于一身。Mongo 使用 一下场景: l? 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。 l? 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由