存储服务器

zookeeper介绍与核心概念

纵饮孤独 提交于 2019-11-30 14:29:38
1、ZooKeeper介绍与核心概念 1.1 简介 ZooKeeper最为主要的使用场景,是作为分布式系统的分布式协同服务。在学习zookeeper之前,先要对分布式系统的概念有所了解,否则你将完全不知道zookeeper在分布式系统中起到了什么作用,解决了什么问题。 1.2分布式系统面临的问题 我们将分布式系统定义为:分布式系统指的是同时跨越多个物理主机,将一个完整的系统划分为多个独立运行的子系统,这些子系统之间互相协作构成一个完整的系统功能。类比一下,分布式系统就是将一个完整的任务细分为多个子任务,一群人分别完成一个子任务,最终完成整个任务。人多力量大,每个服务器的算力是有限的,但是通过分布式系统,由n个服务器组成起来的集群,算力是可以无限扩张的。 说起分布式就要谈谈集群,两者很相似,都是通过网络协同多台主机服务器节点完成整体的功能。 但不同点在于: 集群中的每个服务器节点都完成的是同一个功能,比如mysql数据库集群、redis集群; 而分布式系统则是各个服务器节点所负责的是不同的子系统(任务或者说功能),比如电商系统的分布式系统会分为订单系统、支付系统、数据库系统、缓存系统等等。 所谓分布式集群系统,就是将一个完整的系统进行拆分多个子系统,每个子系统都进行集群部署,各系统集群之间互相协作,就能构成一个分布式集群系统。 优点显而易见,人多干活快,并且互为备份。但是缺点也很明显

php的会话控制

天大地大妈咪最大 提交于 2019-11-30 07:29:22
php的会话控制,什么是会话控制,http等。 什么是会话控制思想,http协议。 cookie 和 session http是超文本传输协议,是网络上最广泛的一种网络协议。 http最大特点是无连接无状态,clinet到http request到server,server到http response到clinet。 建立一个连接,连接完结束了。 cookie保存在客户端中,内存中的cookie,由浏览器维护,保存在内存中,浏览器关闭后就没了,保存在硬盘中的 cookie,有一个过期时间,除非手动清除和过期时间过了。 cookie使用场景 Cookie:达成服务器和浏览器之间长久连接的状态。 浏览器的cookie以小文件的形式保存在客户端中。 作用:长期登录,购物车。 设置cookie: bool setcookie($name,$value,$expire,$path,$domain,$secure,$httponly); $expire:默认为0s。time() 认识COOKIE? 1.cookie是存储在客户端中的,至于怎么存储,存储的文件是什么这和服务器没有关系,和客户端有关系。 2.COOKIE过期了,也是客户端来判断要不要传递给服务器,如果过期了就删除对应的COOKIE文件。用户也可以手动的清理COOKIE,那么之前保存的COOKIE就全部不见了 3

2.RabbitMQ 的可靠性消息的发送

喜你入骨 提交于 2019-11-30 06:10:43
本篇包含 1、 RabbitMQ 的可靠性消息的发送 2、 RabbitMQ 集群的原理与高可用架构的搭建 3、 RabbitMQ 的实践经验 上篇包含 1、MQ 的本质,MQ 的作用 2、RabbitMQ 的特性,工作模型,交换机详解 3、Java API 编程,UI 管理界面 4、进阶知识:TTL、死信队列、延迟队列,服务端流控和消费端限流 5、Spring AMQP 核心组件 1. RabbitMQ 可靠性投递与高可用架构 1.1. 可靠性投递 在代码里面一定是先操作数据库再发送消息。避免因为数据库回滚导 致的数据不一致。 但是如果先操作数据,后发送消息,发送消息出了问题,那不是一样 会出现业务数据的不一致? 分析 RabbitMQ 的可靠性投递,也就是在使用 RabbitMQ 实现异步通 信的时候, 消息丢了怎么办,消息重复消费怎么办? 在 RabbitMQ 里面提供了很多保证消息可靠投递的机制,这个也是 RabbitMQ 的一 个特性。 我们在讲可靠性投递的时候,必须要明确一个问题,因为效率与可靠性是无法兼得 的,如果要保证每一个环节都成功,势必会对消息的收发效率造成影响。所以如果是一 些业务实时一致性要求不是特别高的场合,可以牺牲一些可靠性来换取效率。 比如发送通知或者记录日志的这种场景,如果用户没有收到通知,不会造成业务影 响,只要再次发送就可以了。

一篇文章搞定redis

ⅰ亾dé卋堺 提交于 2019-11-30 03:05:19
Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储 Redis 支持数据的备份,即 master - slave 模式的数据备份 Redis 优势 性能极高 – Redis 读的速度是 110000 次 /s, 写的速度是 81000 次 /s 。 丰富的数据类型 - Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子性 - Redis 的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过 MULTI 和 EXEC 指令包起来。 其他特性 - Redis 还支持 publish/subscribe 通知,key 过期等特性。 Redis 数据类型 Redis 支持 5 中数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset

FastDFS+Nginx(单点部署)事例

半城伤御伤魂 提交于 2019-11-30 01:33:58
FastDFS集群部署 之前介绍过关于FastDFS单机部署,详见博文: FastDFS+Nginx(单点部署)事例 下面来玩下FastDFS集群部署,实现高可用(HA) 服务器规划: 跟踪服务器1【主机】(Tracker Server):192.100.139.121 跟踪服务器2【备机】(Tracker Server):192.100.139.122 存储服务器1(Storage Server):192.100.139.121 存储服务器2(Storage Server):192.100.139.123 存储服务器3(Storage Server):192.100.139.124 操作系统:CentOS7 用户:root 数据存储目录: 应用 安装目录 Nginx /opt/nginx Fastdfs /usr/bin Keepalived /usr/local 安装包 /home/yxgly/resources è /usr/local/src Tracker_data /fastdfs/tracker Storage_data /fastdfs/storage 安装包: FastDFS_v5.08.tar.gz:FastDFS源码 libfastcommon-master.zip:(从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库) fastdfs

服务器存储数据

我的梦境 提交于 2019-11-29 20:15:58
高并发存储/读取数据(门户网站) 存储数据: CPU接收处理数据 --> 内存中保存 --> 永久保存到磁盘 缓解存储压力 读取数据: CPU接收处理数据 --> 内存中读取 <-- 磁盘中的热点数据 提升读取效率 低并发存储/读取数据(中小企业) 被用户访问时, 读多写少情况 存储数据: CPU接收处理数据 --> 永久保存到磁盘 读取数据: CPU接收处理数据 --> 内存中读取 <-- 磁盘中热点数据 提升读取效率 来源: 51CTO 作者: 江湖二胖 链接: https://blog.51cto.com/14623232/2454755

MySQL federated引擎 --- 实现类似oracle dblink功能

别说谁变了你拦得住时间么 提交于 2019-11-29 18:23:31
1.查看是否安装了federated引擎 show engines; 2.开启federated引擎 windows下在my.ini中加入federated,即可开启; linux中,需要编译时加入选项,再在my.ini中加入federated,方可开启. 3.建立远程数据表链接 举例说明: A(192.168.0.233:3306)、B(192.168.0.233:3307)、C(192.168.0.233:3308)、D(192.168.0.234:3306) 在A、B、C、D四个数据库分别创建库testfed; 在B、C上建立授权用户, mysql> grant all privileges on testfed . t_test to test@'%' identified by 'test'; (或者 grant select on testfed .t_test to test@ '192.85.1.113' identified by 'test' ; ) flush privileges; 在B上,创建 mysql> create table t_testB (id int not null auto_increment primary key, c_str char(20) not null) engine innodb; Query OK, 0 rows

Java Web 开发必须掌握的三个技术:Token、Cookie、Session

本秂侑毒 提交于 2019-11-29 17:57:15
点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达 来源:jianshu.com/p/8ef0c5a551d3 今日推荐: 在阿里干了五年,面试个小公司挂了… 在Web应用中,HTTP请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session。 Cookie Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。Cookie存储的数据量有限,且都是保存在客户端浏览器中。不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用 Cookie 实际上只能存储一小段的文本信息。 例如:登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是Cookie。 Session Session是另一种记录客户状态的机制,它是在服务端保存的一个数据结构(主要存储的的SessionID和Session内容,同时也包含了很多自定义的内容如:用户基础信息、权限信息、用户机构信息、固定变量等),这个数据可以保存在集群、数据库、文件中,用于跟踪用户的状态。 客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是 Session

块存储、文件存储、对象存储的优缺点、应用场景

橙三吉。 提交于 2019-11-29 14:53:38
参考文章链接: 一篇文章让你理解Ceph的三种存储接口(块设备、文件系统、对象存储): https://blog.csdn.net/wangmingshuaiguo/article/details/92628036 Ceph介绍及原理架构分享: https://www.jianshu.com/p/cc3ece850433 Red Hat Ceph存储—《深入理解Ceph架构》: http://ceph.org.cn/2018/06/29/red-hat-ceph%E5%AD%98%E5%82%A8-%E3%80%8A%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3ceph%E6%9E%B6%E6%9E%84%E3%80%8B/ ceph IO切割成对象和对象名的组成(块存储): https://blog.csdn.net/a1454927420/article/details/78134554 三种存储类型比较-文件、块、对象存储: https://blog.csdn.net/sinat_27186785/article/details/52032431 块存储就是在物理层这个层面对外提供服务,使用它的系统,有用自己的文件系统格式化。这样一旦被一个系统使用,就独占了。 文件存储,就是在文件系统一层对外提供服务,系统只用访问文件系统一级就可以

1.分布式架构的来源演进

让人想犯罪 __ 提交于 2019-11-29 13:24:47
架构的本质 一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最 终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序。 架构的本质就是对系统进行有序化重构,使系统不断进化 那架构是如何实现无序到有序的呢? 基本的手段就是分和合,先把系统打散,然后重新组合。 分的过程是把系统拆分为各个子系统 / 模块 / 组件,拆的时候,首先要解决每个组件的定 位问题,然后才能划分彼此的边界,实现合理的拆分。合就是根据最终要求,把各个分离的 组件有机整合在一起,相对来说,第一步的拆分更难。 拆分的结果使开发人员能够做到业务聚焦、技能聚焦,实现开发敏捷,合的结果是系统变得 柔性,可以因需而变,实现业务敏捷 架构的分类 架构一般可分业务架构、应用架构、技术架构 1. 业务架构从概念层面帮助开发人员更好的理解系统,比如业务流程、业务模块、输入输出、 业务域 2. 应用架构从逻辑层面帮助开发落地系统,如数据交互关系、应用形式、交互方式,是的整 个系统逻辑上更容易理解,步入大家熟知的 SOA 就属于应用架构的范畴 3. 技术架构主要解决技术平台选型、如操作系统、中间件、设备、多机房、水平扩展、高可 用等问题 需要注意的是,系统或者架构首先都是为人服务的,系统的有序度高,用用逻辑合理,业务 概念清晰是第一位。现在大家讨论更多的是技术架构,如高并发设计