搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一种网络技术,它在多个备选资源中做资源分配,以达到选择最优.这里有三个关键字: 网络技术,LB要解决的问题本质上是网络的问题,所以它实际上就是通过修改数据包中MAC地址.IP地址字段来实现数据包的“中转”: 资源,这里的资源不仅仅是计算机也可以是交换机.存储设备等: 最优,它则是针对业务而言最优,所以…
时隔四年,这个系列鸽了四年,我终于觉得我可以按照自己的思路和想法把这个系列完整的表达出来了. 想起四年前,那时候还是2018年的六月份,那时候我还工作不到两年,那时候我翻译了RFC2616的部分内容,发布在了博客园上,并在翻译不久后想要开始整理并学习HTTP相关的知识内容,那时候我以为我可以了. 但是在第一篇<真正"搞"懂http协议01之背景故事发布>之后,我发现我对整个系列的内容分布完全无从下手.这期间我也发布了很多系列内容(其实就是抄抄书),但是一方面没有花时间去刻意…
去年读了<图解HTTP>.<图解TCP/IP>以及<图解网络硬件>但是读了之后并没有什么深刻的印象,只是有了一层模糊的脉络,刚好最近又接触了一些有关http的相关内容.所以,就打算把它写成一个系列,一方面可以让自己对http的理解更为深入.也可以为不懂不会http的同学在学习的路上先把荆棘剔除,以便学习的路更加的快速顺畅. http是前后端沟通的桥梁,无论是前端还是后端,都是极为重要的基础知识.大多数前端开发只关注页面布局好不好,css简不简洁,js的可读性可复用性是不…
上一篇我们简单的介绍了一下DoD模型和OSI模型,还着重的讲解了TCP的三次握手和四次挥手,让我们在空间层面,稍稍宏观的了解了HTTP所依赖的底层模型,那么这一篇,我们来追溯一下HTTP的历史,看一看HTTP在历史上经历了哪些发展和过程,才让这个协议一直经久不衰. 最开始,在20世纪60年代,也就是1950年到1960年之间,那时候我爹还没出生呢--但是美国国防部高等研究计划署(ARPA)建立了ARPA网,他有四个分布在各地的节点,被认为是互联网的始祖.信息时代的号角也在此刻吹响,人们即将迎来快…
RESP (REdis Serialization Protocal) Redis客户端和服务端之间通信的协议.它很简单,建立在TCP协议上,提供简单.高性能.可读性强的数据序列化的规范和语义. 5种数据模型 Simple Strings Errors Integers Bulk Strings Array Simple Strings Simple Strings用于服务端对一些客户端命令的响应 格式:"+"开头 "\r\n"结尾,中间内容不能含有'\r'或'\n…
前言 本人以前在CDN厂商蓝汛就职过一年时间,利用脑子里还残留的一些CDN知识,结合现有的书籍材料,写点东西. what's the CDN CDN(content delivery Network) 是一个复杂的系统,我们进行简化抽象来看,就能用下面几步来简单概括: 我们模拟上海电信用户访问www.ljf.info为例 北京电信用户请求首选DNS服务器(上海电信DNS服务器),要求解析www.ljf.info. 如果北京电信DNS服务器没有该域名的缓存,就从该域名的权威域名服务器.如果有这个域…
在说到缓存varnish前,我们首先来了解下对于web服务缓存到底是什么?它有哪些特点,基础原理是什么? http是web应用协议,通常我们说的一次http事务,不外乎就是客户端请求,服务端响应,通常我们是这样去理解http一次事务的过程:其实对于web服务器来说,一个客户端访问服务端的某资源时,往往客户端的请求没有到达真正提供web服务的服务器上,就被响应了,这是为什么呢?我们知道一个WEB站点在提供对外访问的页面上在一定时间内都不会发生变化,而对于这些不经常变化的资源,访问又特别大的情况,如…
搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要是根据ZAB协议是实现分布式系统数据一致性. zookeeper根据ZAB协议建立了主备模型完成zookeeper集群中数据的同步.这里所说的主备系统架构模型是指,在zookeeper集群中,只有一台leader负责处理外部客户端的事物请求(或写操作),然后leader服务器将客户端的写操作数据同步…
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法 2PC 由于BASE理论需要在一致性和可用性方面做出权衡,因此涌现了很多关于一致性的算法和协议.其中比较著名的有二阶提交协议(2 Phase Commitment Protocol),三阶提交协议(3 Phase Commitment Protocol)和Paxos算法. 本文要介绍的2PC协议,分为两个阶段提交一个事务.并通过协调者和各个参与者的配合,实现分布式一致性. 两个阶段事务提交协议,由协调者和参与者共同完成. 角色 XA概…
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下图 1,更详细原理请见<理论经典:TCP协议的3次握手与4次挥手过程详解>),如果需要提高数据交互的安全性,既增加传输层安全协议(TLS),还会增加更多的更多握手次数(如下图 2).   ▲ 图 1 - TCP的三次握手原理图   ▲ 图 2  - TLS的初始化握手原理图 正如上面两张图里演示的…