分布式,架构
刘二郎
很懒
展开
-
zookeeper-基于的Paxos算法
zookeeper还是去年研究过,不过也只是停在了使用阶段,公司的架构很早之前就有了,只是当初对这个好奇,所以去研究了一下zookeeper的基础算法,Paxos算法。以上的图需要自己去体会了,之前这个图只是为了ppt准备的,直接贴过来使用吧。原创 2017-05-18 16:31:11 · 365 阅读 · 0 评论 -
读大型网站技术架构---第一篇---第三章---架构要素
大型网站的架构要素分为5个大类,有5个大类的一些标准。1.性能网站的性能优化手段有很多,主要分为下面几种:1.1 浏览器端:浏览器缓存,使用页面压缩,合理布局页面,减少Cookie传输手段,CDN;1.2 应用服务器端:服务器本地缓存和分布式缓存,加速请求处理过程,减轻数据库负载压力;异步操作通过消息队列处理任务;1.3 集群:组成集群共同对外提供服务;1.4 ...原创 2018-10-16 15:52:04 · 154 阅读 · 0 评论 -
读大型网站技术架构---第一篇---第二章---架构模式
关于大型网站架构模式,我觉得只要看看阿里的就足够了,它成功了,所以它的架构模式就是指路明灯以及行业的正确架构模式,所以关于架构其实现在即使你没有参与进去,但是模式就是那样。1.分层分层是一种常见的架构模式,主要是将系统在横向维度上切分成几个部分,每个部分负责相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。分层好处:可以将一个庞大系统切分成不同部分;各层之间...原创 2018-10-16 14:26:40 · 143 阅读 · 0 评论 -
读大型网站技术架构---第一篇---第一章---架构演化过程
最近开始读此书,主要为了增加自己知识的广度,首要目的是即使自己没有参与过此类项目,但是也能知道在某些场景或者某些架构处理时应该往哪些方向思考。大型网站系统特点1.高并发,大流量2.高可用3.海量数据4.用户分布广泛,网络情况复杂5.安全环境恶劣6.需求快速变更,发布频繁7.渐进式发展(主要是由小到大)大型网站架构演化发展历程1.初始阶段小网站,一台服务器...原创 2018-10-15 16:04:32 · 175 阅读 · 0 评论 -
读大型网站技术架构---第二篇---第五章---架构高可用
网站的可用性的度量和考核可用性度量网站不可用被称作网站故障,QQ的可用性是4个9,即QQ服务99.99%可用,也就是一年中大约最多53分钟不可用。网站不可用时间 = 故障修复时间点 - 故障发现时间点;网站年度可用性指标 = (1 - 网站不可用时间/年度总时间)* 100 %;网站可用性考核高可用的网站架构高可用的架构设计主要目的就是保证服务器硬件故障时服务依然可...原创 2018-10-18 16:09:59 · 171 阅读 · 0 评论 -
读大型网站技术架构---第二篇---第四章---架构优化
此书第二章主要针对架构方面怎么实现一些具体的优化手段,4.1节主要描述的是性能测试方面的,暂时不想去关注性能测试方面的知识。主要关注一下其他地方的优化手段。4.2 Web前端性能优化Web前端指网站业务逻辑之前的部分,包括浏览器加载,网站试图模型,图片服务,CND服务。4.2.1. 浏览器访问优化减少http请求HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要建立通信链...原创 2018-10-18 13:35:25 · 191 阅读 · 0 评论 -
一致性Hash算法
hash算法想去了解一致性Hash算法,想必你已经了解过hash算法了,典型的Java里的HashMap里面就使用了hash算法,它的目的就是将需要存储的key均匀的分散到16位的数组内。但是HashMap是有个扩容的概念的,而且扩容的时候需要将原有的映射关系重新映射一遍,这其实就是hash算法所表现出的不足的部分。一致性hash算法 引入为了弥补hash算法中当发生改变...转载 2018-10-11 16:31:25 · 221 阅读 · 0 评论 -
Zookeeper实现分布式锁
今天偶然在头条上看见一个基于Zk的分布式锁的推荐,觉得讲的不错,想起来自己在分析分布式锁的时候对于Zookeeper锁的分析没有完善。所以今天来补一篇。分布式锁Zookeeper的节点类型1. 持久节点节点创建后就会一直存在,直到主动删除,不会因为创建改节点的客户端会话消失而消失。2.持久顺序节点持久的,顺序节点,Zk会维护这个时序,记录子节点的创建的先后顺序。3.临时节点临时节点的生命周期和客户...原创 2018-06-11 13:46:29 · 3148 阅读 · 0 评论 -
分布式锁的3种实现方式
说起分布式的概念,首当其冲就是CAP理论,即满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。但是CAP理论告诉我们,任何系统只能满足其中两个,所以都要求去做取舍。那么人们常说的一般都是,需要牺牲一致性来保证系统的高可用性,只要保证系统的最终一致性,并且允许的时间差值能够被接受就行。对于这个,本人的体会就是订单系统,对于...原创 2018-04-04 15:20:58 · 8874 阅读 · 1 评论 -
关于APP端接口设计的几点思考
对于做服务端开发的人来说,一般只关注接口的入参擦传入和数据的组装返回,以前在做web系统时,一般会根据页面展示数据的不同去实现不同的接口,有新的业务就做新的接口设计,有需要修改的旧业务,就在以前的接口里去更新业务逻辑。但是这套做法不适用于针对APP端的接口,原因就在于APP的业务需要靠升级去呈现出不同的功能以及不同的数据,举个例子:获取用户信息接口getUserInfo在V1.0.0里和在...原创 2019-04-21 09:21:11 · 684 阅读 · 0 评论