节点服务器

六、永无止境:网站的伸缩性架构

蹲街弑〆低调 提交于 2019-12-07 21:46:27
(1)网站架构的伸缩性设计 1.不同功能进行物理分离实现伸缩。纵向分离和横向分离,不同的服务器部署不同的业务。 2.单一功能通过集群规模实现伸缩。集群内的多台服务器部署相同的服务,提供相同的功能。 (2)应用服务器集群的伸缩性设计 如果HTTP请求分发装置可以感知或者可以配置集群的服务器数量,可以及时发现集群中新上线或下线的服务器,并能向新上线的服务器分发请求,停止向已下线的服务器分发请求,那么就实现了应用服务器集群的伸缩性。 这里,这个HTTP请求分发装置被称作均衡负载服务器。 实现负载均衡的技术,以下几种: 1.HTTP重定向负载均衡。 HTTP重定向服务器是一台普通的应用服务器,其唯一的功能就是根据用户的HTTP请求一台真实的Web服务器地址,并将该Web服务器地址写入HTTP重定向响应中(响应状态码为302)返回给用户浏览器。在图6.5中,浏览器请求访问域名 www.mysite.com 。DNS服务器解析得到IP地址是114.100.80.10,即HTTP重定向服务器的IP地址。然后浏览器通过IP地址 114.100.80.10访问HTTP重定向负载均衡服务器后,服务器根据某种负载均衡算法计算获得一台实际物理服务器的地址(114.100.80.3),构造一个包含该实际物理服务器地址的重定向响应返回给浏览器,浏览器自动重新请求实际物理服务器的IP地址(114.100.80

游戏服务器架构调研报告

隐身守侯 提交于 2019-12-07 17:33:59
服务器架构调研报告 刘源霖 20151119 1. 前言 本文档主要是调研分析新的手游服务端架构,为下一款手游服务端研发提供可参考的方案。主要的参考点是数据持久化,并发效率,分布式,沙盒机制,热更新机制,研发维护成本。如果从头根据需求开发一款新的服务器架构,需要大量的时间,而且可能会得不偿失,一款新的架构稳定都需要时间的。我们应该尝试使用开源的,成熟的,活跃度高的开源框架。正文将先从服务器设计需要考虑的因素进行需求分析,以至明确我们需要的服务器架构原型,然后再分析现有的开源架构方案。 2. 游戏服务器设计因素 2.1. 服务器运行平台选择 服务器操作系统大多采用 Unix 和 Linux 操作系统,而 Linux 发行版本系统中,多使用 CentOS 、 Redhat 、 Ubuntu 、 Gentoo 、 Debian 。而这些发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的 Redhat ( RHEL )为代表,后者以 Debian 为代表。 Redhat 的稳定性和硬件兼容性都比 Debian 高。并且 RHEL 的生命周期是 7 到 10 年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。而 Debian 的生命周期是不固定的,一般新版本发布以后,上个版本再维护 18 个月。而

mysql数据库高可用解决方案

故事扮演 提交于 2019-12-06 22:18:00
MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备 高可用性 是无可厚非的。有很多解决方案能实现不同的 SLA (服务水平协定),这些方案可以保证 数据库服务器 在硬件或软件出现故障时服务继续可用。 高性能性需要解决的主要有两个问题,即如何实现 数据共享 或同步数据,另一个是如何处理failover,数据共享一般的解决方案是通过SAN(Storage Area Network)来实现,而 数据同步 可以通过 rsync 软件或 DRBD 技术来实现;failover的意思就是当服务器死机或出现错误时可以自动切换到其他备用的服务器,不影响服务器上业务系统的运行。本文重点介绍一下目前比较成熟的Mysql高性能解决方案。 1、主从复制解决方案 这是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication就是一个日志的复制过程,在复制过程中一个服务器充当主服务器,而一个或多个其他服务器充当从服务器,简单说就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。 MySQL replication技术仅仅提供了日志的同步执行功能,而从服务器只能提供读操作,并且当主服务器故障时

单节点FastDFS安装

允我心安 提交于 2019-12-06 16:47:00
环境:centos7 1.什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。 通俗来讲: 传统文件系统管理的文件就存储在本机。 分布式文件系统管理的文件存储在很多机器,这些机器通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问 2.什么是FastDFS FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富: 文件存储 文件同步 文件访问(上传、下载) 存取负载均衡 在线扩容 适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。 3.FastDFS的架构 3.1.架构图 先上图: FastDFS两个主要的角色:Tracker Server 和 Storage Server 。 Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。 Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage

CentOS 7上设置RabbitMQ集群

落爺英雄遲暮 提交于 2019-12-06 14:47:37
1.最近一直在忙于项目的事情,很少写博客了,一个朋友突然让我写一篇rabbitMq的集群的文章 第1步-设置主机文件 1.我们将在所有服务器上编辑“ / etc / hosts”文件,并将每个服务器IP地址映射为主机名。 vim /etc/hosts 现在,在其中粘贴以下配置。 10.0.15.21 node01 10.0.15.22 node02 10.0.15.22 node03 把之前的主机名隐藏掉 vim /etc/hostname 改成对于的主机名 reboot重启一下 服务器 第2步-安装RabbitMQ服务器 1.将EPEL存储库添加到CentOS 7系统。 sudo yum -y install epel-release 2.现在,使用下面的yum命令将RabbitMQ Server安装到所有节点“ node01”,“ node02”和“ node03”。 sudo yum -y install rabbitmq-server 3.并且在安装完成后,启动RabbitMQ服务,并使它每次在系统引导时启动。 sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server 如果在这过程中启动报错 可以看一下启动的日记 systemctl status rabbitmq-server

JS面试题重点

旧时模样 提交于 2019-12-06 13:49:21
面试题更新中~ 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型: Undefined、Null、Boolean、Number、String 值类型:数值、布尔值、 null、undefined。 引用类型:对象、数组、函数。 堆栈数据结构:是一种支持后进先出 (LIFO)的集合,即后被插入的数据,先被取出! js数组中提供了以下几个方法可以让我们很方便实现堆栈: shift:从数组中把第一个元素删除,并返回这个元素的值。 unshift: 在数组的开头添加一个或更多元素,并返回新的长度 push:在数组的中末尾添加元素,并返回新的长度 pop:从数组中把最后一个元素删除,并返回这个元素的值。 2.判断数据类型? typeof返回的类型都是字符串形式,可以判断function的类型;在判断除Object类型的对象时比较方便。 判断已知对象类型的方法: instanceof,后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。 3.异步编程? 方法 1:回调函数,优点是简单、容易理解和部署,缺点是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程会很混乱,而且每个任务只能指定一个回调函数。 方法 2:时间监听,可以绑定多个事件,每个事件可以指定多个回调函数,而且可以“去耦合”(Decoupling)

Hadoop — HDFS的概念、原理及基本操作

旧城冷巷雨未停 提交于 2019-12-06 06:12:05
Hadoop — HDFS的概念、原理及基本操作 https://www.cnblogs.com/swordfall/p/8709025.html 分类: Hadoop undefined 1. HDFS的基本概念和特性 设计思想——分而治之:将大文件、大批量文件分布式存放在大量服务器上, 以便于采取分而治之的方式对海量数据进行运算分析 。在大数据系统中作用:为各类分布式运算框架(如:mapreduce,spark,tez,....)提供数据存储服务。 1.1 HDFS的概念 首先,它是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件; 其次,它是分布式的,有很多服务器联合起来实现其功能,集群中的服务器有各自的角色; 重点概念:文件切块,副本存放,元数据(目录结构及文件分块信息) 1.2 HDFS的重要特性 (1) HDFS中的文件在物理上是 分块存储(block) ,块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M; (2) HDFS文件系统会给客户端提供一个 统一的抽象目录树 ,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/file.data; (3) 目录结构及文件分块信息(元数据) 的管理由namenode节点承担

4.配置服务器

本秂侑毒 提交于 2019-12-06 02:44:14
Config Server是干嘛的 配置服务器保留有所有分片节点的元数据,这些元数据包括所有分片节点状态,副本节点的组织结构以及副本节点数据存储位置。 元数据包括,每个分片节点的chunk信息以及这些chunk对应的range区间定义。 通过这些数据将读写操作正确的路由到对应的分片节点上。 如果集群的元数据信息变化,管理程序mongod将会进行更新操作:chunk分裂,添加分片节点。 分片节点同样需要从配置服务器读取这些数据。 配置服务器同样保存授权信息,比如:用户访问授权,和内部授权等。 使用配置服务器来管理分布式锁机制。 每一个分片集群都应该有自己的配置服务器,不要使用多个集群使用同一个。 授权操作可能会影响到分片节点的性能和使用,如果配置服务器被影响的数量较多,可能会导致分片节点仅仅只能进行读操作,或者是下线一段时间。 配置服务器副本集 以前mongo是使用镜像快照的方式进行备份。 配置服务器可以使用分片节点副本集机制来提高配置服务间的同步性能。 因为有多副本配置服务器,所以可以允许不同的分片节点选择访问某一个配置服务器,形成了n:m的格局,而不是1:1,减轻了压力,也提高了性能。 副本集配置服务器有如下三原则: 不能有决策者。 不能有短板成员,(延迟高)。 必须创建索引。 配置服务器的读写操作 admin数据库保存着授权和认证,和其他的数据库系统的system数据库一样。

聊聊微服务的服务注册与发现

别来无恙 提交于 2019-12-05 21:56:56
摘自: https://www.cnblogs.com/mayou18/p/9829876.html 聊聊微服务的服务注册与发现 来源:阿里中间件团队分享 更多文章请关注 MAYOU18 聊起微服务的服务注册与发现,很多人立马就会脱口而出 zk、etcd、consul、eureka 这些组件,进而聊到 CAP 如何取舍,性能如何,高可用和容灾是怎么实现的。 引言 聊起微服务的服务注册与发现,很多人立马就会脱口而出 zk、etcd、consul、eureka 这些组件,进而聊到 CAP 如何取舍,性能如何,高可用和容灾是怎么实现的。 在这之前,站在组件使用者的角度,我想先问这么几个问题: 注册的 IP 和端口怎么确定 ? 实现服务治理还需要注册哪些信息 ? 如何进行优雅的服务注册与服务下线 ? 注册服务的健康检查是如何做的 ? 当服务有节点退出或新的节点加入时,订阅者能不能及时收到通知 ? 我能方便地查看某个应用发布和订阅了哪些服务,以及所订阅的服务有哪些节点吗 ? 看完这些问题后,您也许会发现,对于服务注册与发现,首先应该关注的是服务注册发现本身的功能,然后才是性能和高可用。 一个好的服务注册发现中间件,应该是能完整地满足服务开发和治理的基础功能,然后才是性能和高可用。如果没有想清楚前面的功能,再高的可用性和性能都是浮云。最后,安全也同样重要。 服务端的性能如何 ?

分布式基础知识

…衆ロ難τιáo~ 提交于 2019-12-05 21:36:38
分布式基础知识 https://www.cnblogs.com/zhang-qc/p/8687663.html 参考 https://github.com/CyC2018/Interview-Notebook/blob/master/notes/ 基本概念 (1)异常: 1. 服务器宕机   内存错误、服务器停电等都会导致服务器宕机,此时节点无法正常工作,称为不可用。   服务器宕机会导致节点失去所有内存信息,因此需要将内存信息保存到持久化介质上。 2. 网络异常   有一种特殊的网络异常称为 网络分区 ,即集群的所有节点被划分为多个区域,每个区域内部可以通信,但是区域之间无法通信。 3. 磁盘故障   磁盘故障是一种发生概率很高的异常。   使用冗余机制,将数据存储到多台服务器。 (2)超时:   可以将服务器的操作设计为具有 幂等性 ,即执行多次的结果与执行一次的结果相同。如果使用这种方式,当出现超时的时候,可以不断地重新请求直到成功。 (3)衡量指标 1. 性能   常见的性能指标有:吞吐量、响应时间。这两个指标往往是矛盾的,追求高吞吐的系统,往往很难做到低响应时间。   高吞吐意味并发系统,高并发提高 CPU 资源的利用率,但是请求不能马上被处理,需要和其它请求一起进行并发处理,响应时间增高。 2. 可用性:指系统在面对各种异常时可以提供正常服务的能力 3. 一致性