分类:综合知识

综合知识

大话Paxos——分布式一致性算法

cambrian.render('head')Paxos是一种基于消息传递且具有高度容错性的一致性算法,在分布式当中应用的十分广泛。对于初学者来说理解paxos还是十分吃力的,因此本文主要是以通俗易懂的方式来介绍该算法,由浅及深来理解该算法。 背景 在分布式集群中,很难保障数据的...

yan 2017 年 12 月 4 日 45℃ 2评论 1喜欢

初始ZooKeeper(二)——应用实例

cambrian.render('head')统一命名服务 说白了,zookeeper会帮我们的文件起名,起的名字还挺好听,还不会重复,便于识别跟记忆,是不是很棒 配置管理 简单点,改变一台机器的配置,其他机器也会跟着改变 集群管理 监听是否有机器退出和加入、动态选举Master...

yan 2017 年 8 月 24 日 100℃ 14评论 1喜欢

初始ZooKeeper(一)

cambrian.render('head')ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。目的是提供一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。原理:通知机制(观察者模式) + 文件系统。集群大小:奇数最好,选举条件是要求超过总数的一...

yan 2017 年 8 月 24 日 95℃ 0评论 5喜欢

《headfirst设计模式》Java设计模式笔记

cambrian.render('head') 准备 为了有助于理解设计模式,看懂UML图,建议读者提前学习好类图、时序图等UML基本知识。 类图:http://www.i3geek.com/archives/956 构建型模式 名称 重要程度(5分满) 应用 简单工厂...

yan 2017 年 3 月 5 日 454℃ 31评论 3喜欢

深入学习数据库——索引结构(多维)

cambrian.render('head')利用传统的B树或者散列表进行建立单维索引,在处理多维数据时会遇到问题。例如地理信息系统,其中数据是两维的(如经度、维度),因此利用传统索引无法高效的解决问题,所以需要多维索引。 本文主要介绍两类多维索引:类散列表方法和类树方法。类散列...

yan 2016 年 12 月 5 日 566℃ 6评论 4喜欢

深入学习数据库——索引结构(单维)

cambrian.render('head')索引的重要性:能够加速在一个或多个属性上对特定值的查询。具体来说就是,我们只需查看所有可能记录中的小部分就能找到所需记录。 索引的基础结构 稠密索引、稀疏索引、主索引(聚集索引)、辅助索引(非聚集索引) 主索引(聚集索引) 能够确定记...

yan 2016 年 12 月 2 日 230℃ 0评论 2喜欢

Java设计模式——迭代器模式

cambrian.render('head')定义 提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 实现 迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasN...

yan 2016 年 10 月 31 日 185℃ 0评论 1喜欢

Java设计模式——责任链模式

cambrian.render('head')定义 将接收者对象连接成一条链,并在该链上传递请求,直到有一个接收者对象处理它。通过让更多对象有机会处理请求,避免了请求发送者和接收者之间的耦合。 作用 请求 ===> 第一个处理者 ===> 第二个处理者 …...

yan 2016 年 10 月 30 日 243℃ 0评论 1喜欢

Java设计模式——模板方法模式

cambrian.render('head')定义 一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 作用 抽象类A(算法骨架) 《==实现===  具体类B(实现抽象方法) 比如:银行中办理业务,不管什么业务流...

yan 2016 年 10 月 29 日 179℃ 0评论 0喜欢