节点服务器

LVS 负载均衡 ---- NAT模式

对着背影说爱祢 提交于 2020-02-07 11:18:26
文章目录 一、企业群集应用概述 二、企业群集分类 三、负载均衡群集工作模式分析 (1)NAT 模式 ------ 地址转换(network address translation) (2)IP 隧道 (IP Tunnel) (3)DR 模式 四、负载均衡群集架构 五、LVS 虚拟服务器 六、NAT模式 具体案例实验 第一步:配置存储服务器 第二步:配置两台 Apache服务器 第三步:配置 LVS 第四步:验证结果 一、企业群集应用概述: 在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器远不能满足需求,此时就需要多台服务器组成一个集群,但是对外仍表现的是一个整体,类似于一个“代表”。 何为群集: Cluster ,集群 ,群集 由多台主机构成,但对外只表现为一个整体 二、企业群集分类: 根据群集所针对的目标差异,可分为三种类型: 负载均衡群集; 高可用群集; 高性能运算群集; (1)负载均衡集群(Load Balance Cluster) 以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能; LB 的负载分配依赖于主节点的分流算法; (2)高可用群集 (High Availability Cluster) 以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性

ZooKeeper原理解析

♀尐吖头ヾ 提交于 2020-02-07 11:16:27
文章目录 1.ZooKeeper介绍 1.1文件系统 1.2监听机制 1.3监听工作原理 1.4ZooKeeper典型应用场景 1.4.1命名服务 1.4.2配置管理 1.4.3集群管理 1.4.4分布式锁 1.4.5队列管理 2.ZooKeeper特点 3.Zookeeper原理解析 3.1集群角色描述 3.2Paxos 算法概述(ZAB 协议) 3.2.1ZooKeeper的全新集群选主 3.2.2ZooKeeper的非全新集群选主 3.3数据同步 3.4ZooKeeper工作流程 3.4.4Leader工作流程 3.4.2Follower工作流程 3.4.3Observer工作流程 1.ZooKeeper介绍 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如 分布式同步,配置管理,集群管理,命名管理,队列管理 。它被设计为易于编程,使用文 件系统目录树作为数据模型。服务端跑在 java 上,提供 java 和 C 的客户端 API。 1.1文件系统 ZooKeeper 的命名空间就是 ZooKeeper 应用的文件系统,它和 linux 的文件系统很像,也是树 状,这样就可以确定每个路径都是唯一的,对于命名空间的操作必须都是绝对路径操作

(知识点补充二)merkle树和MB-Tree

大城市里の小女人 提交于 2020-02-07 08:51:31
merkle 树结构(M-Tree) Merkle hush Tree用于验证一组数据值。使用最简单的形式解决适合主存的点查询和数据集查询认证问题。M-Tree是二叉树,其中叶节点包含数据值的hush,非叶子节点包含其两个子节点hash of the concatenation值。 查询任何一个数值的真实性需要对比计算log (n) 个hush值,因为 其他结构 我们还提供了所有技术的分析成本模型,给出了各种性能指标。本文主要贡献:详细的分析建模,使用户能够决定哪种结构最能满足他们的需要。 介绍三个应用在静态场景(即在外包数据库中所有者的和服务器之间不发生数据更新)中保证查询正确性和完整性的三个方法: 1. Aggregated Signatures with B±trees(ASB-Tree) 首先,所有者分别对数据库中所有连续的元组取hush值并进行签名,假设某种排序次序方式为A。 给定两个连续的元组r i ,r j ,owner将(r i ,s i )发送给服务器,其中s i =S(r i |r j ),‘|’是表示字符串的规范配对,这些字符串可以唯一地被解析回其两个组件中;第一个和最后一个元组可以与特殊标记记录配对。 为了提高服务器的查询效率,在属性A的顶部构建B+树。 服务器可以为所有结果发送一个组合签名S π ,而不是每个查询结果都发送一个签名

Redis主从复制原理以及应用

為{幸葍}努か 提交于 2020-02-07 02:08:30
目录 主从复制概述 如何使用主从复制 开启主从复制 断开主从复制 主从复制的实现原理 连接建立阶段 数据同步阶段 命令传播阶段 【数据同步阶段】全量复制和部分复制 全量复制 部分复制 psync命令的执行 【命令传播阶段】心跳机制 主->从:PING 从->主:REPLCONF ACK 应用中的问题 读写分离及其中的问题 复制超时问题 各场景下复制的选择及优化技巧 复制相关的配置 单机内存大小限制 回到顶部 主从复制概述 在Redis客户端通过 info replication 可以查看与复制相关的状态,对于了解主从节点的当前状态,以及解决出现的问题都会有帮助。 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 主从复制的作用主要包括: 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务

ZooKeeper面试题

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-06 21:35:05
前言 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 面试题 ZooKeeper 是什么? ZooKeeper 提供了什么? Zookeeper 文件系统 ZAB 协议? 四种类型的数据节点 Znode Zookeeper Watcher 机制 -- 数据变更通知 客户端注册 Watcher 实现 服务端处理 Watcher 实现 客户端回调 Watcher ACL 权限控制机制 Chroot 特性 会话管理 服务器角色 Zookeeper 下 Server 工作状态 数据同步 zookeeper 是如何保证事务的顺序一致性的? 分布式集群中为什么会有 Master? zk 节点宕机如何处理? zookeeper 负载均衡和 nginx 负载均衡区别 Zookeeper 有哪几种几种部署模式? 集群最少要几台机器,集群规则是怎样的? 集群支持动态添加机器吗? Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的? Zookeeper 的 java 客户端都有哪些? chubby 是什么,和 zookeeper 比你怎么看?

mongodb-的副本集

妖精的绣舞 提交于 2020-02-06 19:56:27
复制的重要性不再多说,其主要就是提供数据保护,数据高可用和灾难恢复。 复制是跨多个mongodb服务器分布和维护的方法。mongodb可以把数据从一个节点复制到其他节点并在修改时进行同步。 mongodb的复制有两种方式: 副本集复制和主从架构复制。这两种方法类似,主节点接收所有的写请求,然后所有的从节点读取,并且异步同步所有的数据。 主从复制和副本集使用了相同的复制机制,但是副本集额外增加了自动化灾备机制,如果主节点宕机,无论什么原因,其中一个从节点会自动提升为主节点。除此之外副本集还提供了其他改进,比如更易于恢复和更复杂地部署网络拓扑。线上环境几乎全都是使用的副本集,因此这里只会有关于副本集的介绍。 下面会实际搭建一个最基本的副本集,然后会说明副本集的原理? 【MongoDB的启动必须从配置文件启动,不要用命令行】 第一步:配置文件中指定副本集的名称 #在三台服务器的配置文件中均要有如下设置 replication: oplogSizeMB: 20 #指定oplog的日志大小,注意这里大小只是为了测试 replSetName: lianxi #指定副本集的名称,在一个副本集中名称要保持一致 第二步:配置文件启动MongoDB服务器: [root@test1 ~]# cd /usr/local/mongodb/bin [root@test1 bin]# ./mongod -f .

大型网站系统与 Java 中间件实践

孤者浪人 提交于 2020-02-06 14:13:47
http://wanglizhi.github.io/2016/07/27/JavaWeb-And-MiddleWare/ 第一章 分布式系统介绍 分布式系统的定义:组件分布在网络计算机上,组件间仅仅通过消息传递来通信并协调行动。 分布式系统的意义: 升级单机处理能力的性价比越来越低 单机处理能力存在瓶颈 处于稳定性和可用性的考虑 摩尔定律:当价格不变时,每隔18个月,集成电路上可容纳的晶体管数目会增加一倍,性能也将提升一倍。 线程与进程的执行模式 冯诺依曼结构:输入设备、输入设备、运算器、控制器、存储器。 基于共享容器协同的多线程模式:经典如生产者消费者问题,对于存储数据的容器或对象,有线程安全和不安全之分,对于不安全的容器或对象,一般可以通过加锁或者通过Copy On Write的方式控制并发。 通过事件协同的多线程模式:避免死锁 多进程模式: 线程是属于进程的,一个进程内的多个线程共享了进程的内存空间;而多个进程间的内存空间是独立的,因此多个进程间通过内存共享、交换数据的方式与多个线程间就有所不同 此外,进程间通信、协调,以及通过一些事件通知或者等待一些互斥锁的释放方面也不一样 多进程相对于单进程多线程来说,资源控制会更容易实现;多进程中单个进程出现问题,不会造成整体的不可用 多进程之间可以共享数据,但其代价较大,会涉及序列化和反序列化的开销 网络通信基础知识

浏览器输入URL后发生了什么

蹲街弑〆低调 提交于 2020-02-04 20:59:27
本文转载自公众号 前端迷 总体概览 大体上,可以分为六步,当然每一步都可以详细展开来说,这里先放一张总览图: DNS域名解析 在网络世界,你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器。DNS 服务器是高可用、高并发和分布式的,它是树状结构,如图: 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址 权威 DNS 服务器 :返回相应主机的 IP 地址 DNS的域名查找,在客户端和浏览器,本地DNS之间的查询方式是递归查询;在本地DNS服务器与根域及其子域之间的查询方式是迭代查询; 递归过程: 在客户端输入 URL 后,会有一个递归查找的过程,从浏览器缓存中查找->本地的hosts文件查找->找本地DNS解析器缓存查找->本地DNS服务器查找,这个过程中任何一步找到了都会结束查找流程。 如果本地DNS服务器无法查询到,则根据本地DNS服务器设置的转发器进行查询。若未用转发模式,则迭代查找过程如下图: 结合起来的过程,可以用一个图表示: 在查找过程中,有以下优化点: DNS存在着多级缓存,从离浏览器的距离排序的话,有以下几种: 浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。 在域名和 IP

Mysql 高可用集群 ------ MHA

◇◆丶佛笑我妖孽 提交于 2020-02-04 11:53:34
文章目录 一、MHA 简介 二、部署 MHA 第一步:三台主从服务器安装 mysql 第二步:修改 mysql 的主配置文件:/etc/my.cnf ,注意三个服务器的 server-id 不能一样 第三步:三个服务器启动 mysql 服务 第四步:配置 Mysql 主从同步(一主两从) 第五步:安装 MHA 第六步:启动 MHA 一、MHA 简介: MHA(Master High Availability) (1)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 (2)该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一个独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时

Redis详解(五)——主从复制

前提是你 提交于 2020-02-03 17:27:14
Redis详解(五)——主从复制 面临问题 机器故障。我们部署到一台 Redis 服务器,当发生机器故障时,需要迁移到另外一台服务器并且要保证数据是同步的。而数据是最重要的,如果你不在乎,基本上也就不会使用 Redis 了。 容量瓶颈。当我们有需求需要扩容 Redis 内存时,从 16G 的内存升到 64G,单机肯定是满足不了。当然,你可以重新买个 128G 的新机器。 解决办法 要实现分布式数据库的更大的存储容量和承受高并发访问量,我们会将原来集中式数据库的数据分别存储到其他多个网络节点上。 Redis 为了解决这个单一节点的问题,也会把数据复制多个副本部署到其他节点上进行复制,实现 Redis的高可用,实现对数据的冗余备份,从而保证数据和服务的高可用。 主从复制 什么是主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 主从复制的作用 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 负载均衡