- 博客(21)
- 收藏
- 关注
原创 Zookeeper API 学习与使用
Zookeeper APIZooKeeper有一个绑定Java和C的官方API。Zookeeper社区为大多数语言(.NET,python等)提供非官方API。使用ZooKeeper API,应用程序可以连接,交互,操作数据,协调,最后断开与ZooKeeper集合的连接。ZooKeeper API具有丰富的功能,以简单和安全的方式获得ZooKeeper集合的所有功能。ZooKeeper A...
2018-06-07 17:33:10
651
原创 分布式系统原理 之9 CAP 理论
分布式系统原理CAP 理论CAP 理论是由 Eric Brewer 提出的分布式系统中最为重要的理论之一[8]。本文将 CAP 理论安排在原理部分的最后介绍是为了利用前面已经介绍过的几种分布式协议来帮助理解 CAP 理论。1. 定义CAP 理论的定义很简单,CAP三个字母分别代表了分布式系统中三个相互矛盾的属性:Consistency (一致性):CAP 理论中的副本一致性...
2018-06-04 19:56:43
1065
原创 分布式系统原理 之8 Paxos协议
分布式系统原理Paxos协议1. 简介Paxos 协议是少数在工程实践中证实的强一致性、高可用的去中心化分布式协议。Paxos 协议的流程较为复杂,但其基本思想却不难理解,类似于人类社会的投票过程。Paxos 协议中,有一组完全对等的参与节点(称为 accpetor),这组节点各自就某一事件做出决议,如果某个决议获得了超过半数节点的同意则生效。Paxos 协议中只要有超过一半的...
2018-06-04 19:55:55
548
原创 分布式系统原理 之7 基于MVCC的分布式事务
分布式系统原理基于MVCC的分布式事务实现分布式事务除了使用类似“两阶段提交”协议等方式外,另一种简单高效的方式就是使用MVCC(Multi-version Cocurrent Control,多版本并发控制)技术[3][5]。1. MVCC简介顾名思义,MVCC 即多个不同版本的数据实现并发控制的技术,其基本思想是为每次事务生成一个新版本的数据,在读数据时选择不同版本的数据即...
2018-06-04 19:54:59
623
原创 分布式系统原理 之6 两阶段提交协议
分布式系统原理两阶段提交协议两阶段提交协议是一种经典的强一致性中心化副本控制协议[2][3]。虽然在工程中该协议有较多的问题,但研究该协议能很好的理解分布式系统的几个典型问题。1. 问题背景两阶段提交(two phase commit)协议是一种历史悠久的分布式控制协议。最早用于在分布式数据库中,实现分布式事务。这里有必要首先简单介绍一下两阶段提交的最初问题背景,从而能更好的理...
2018-06-04 19:54:20
1229
原创 分布式系统原理 之5 日志技术
分布式系统原理日志技术日志技术是宕机恢复的主要技术之一[3]。日志技术最初使用在数据库系统中。严格来说日志技术不是一种分布式系统的技术,但在分布式系统的实践中,却广泛使用了日志技术做宕机恢复,甚至如 BigTable 等系统将日志保存到一个分布式系统中进一步增强了系统容错能力。本章首先简单介绍数据库系统中的日志技术,进而抽象简化问题模型,在简化模型的基础上介绍两种实用的日志技术 Red...
2018-06-04 19:53:41
1013
原创 分布式系统原理 之4 Quorum 机制
分布式系统原理Quorum 机制Quorum 机制是一种简单有效的副本管理机制。本节首先讨论一种最简单的副本控制规则write-all-read-one,在此基础上,放松约束,讨论 quorum 机制。1. 约定为了简化讨论,本节先做这样的约定:更新操作(write)是一系列顺序的过程,通过其他机制确定更新操作的顺序(例如 primary-secondary 架构中由 prim...
2018-06-04 19:52:54
1477
原创 分布式系统原理 之3 Lease机制
分布式系统原理Lease机制Lease 机制是最重要的分布式协议,广泛应用于各种实际的分布式系统中。即使在某些系统中相似的设计不被称为 lease,但我们可以分析发现其本质就是一种 lease 的实现。本节从一个分布式cache 系统出发介绍最初的 lease 机制,接着加以引申,探讨 lease 机制的本质。最后介绍了 lease 机制最重要的应用:判定节点状态。1. 基于 ...
2018-06-04 19:52:07
2610
原创 分布式系统原理 之2 基本副本协议
分布式系统原理基本副本协议副本控制协议指按特定的协议流程控制副本数据的读写行为,使得副本满足一定的可用性和一致性要求的分布式协议。副本控制协议要具有一定的对抗异常状态的容错能力,从而使得系统具有一定的可用性,同时副本控制协议要能提供一定一致性级别。本文将副本控制协议分为两大类:“中心化(centralized)副本控制协议”和“去中心化(decentralized)副本控制协议”。...
2018-06-04 19:50:31
699
原创 分布式系统原理 之1 数据分布方式
分布式系统原理:数据分布方式1. 哈希方式哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与机器中的机器建立映射关系,从而将不同哈希值的数据分布到不同的机器上。哈希分布数据的缺点同样明显,突出表现为可扩展性不高,一旦集群规模需要扩展,则几乎所有的数据需要被迁移并重新分布。哈希分布数据的另一个缺点是,一旦某数据特征值的数据严重不均,容易出现...
2018-06-04 19:47:18
3466
原创 processing画一个时钟:音乐、控制转动等
processing画一个时钟:音乐、控制转动等 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012428012/article/details/79676759分析钟表的功能主要实现以下几个功能:画钟表的表盘、数字等通过 s 或 S 键控制旋转,t 或 T 键暂停旋转设置音乐的定时播放、秒针转动播放音乐 右上角...
2018-03-26 07:58:36
10930
1
原创 数据结构 - 哈夫曼树 - 字典树 - 面试中可能会涉及的树知识点
数据结构 - 哈夫曼树 - 哈希树 - 字典树 - 面试中可能会涉及的树知识点数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。 本文主要介绍树中的一些种类。包括哈夫曼树字典树哈夫曼树哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。
2018-01-17 22:27:32
3507
原创 数据结构 - 红黑树
数据结构 - 红黑树 - 面试常问知识点数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。 本文主要介绍树中的常见的红黑树数据结构。包括简介 应用左旋和右旋简介R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的
2018-01-17 22:20:26
3188
原创 数据结构 - 字符串 - 最长公共子序列 + 最长公共子字符串 - 动态规划
最长公共子序列/** * 最长公共子序列 * 参考链接:http://blog.csdn.net/biangren/article/details/8038605 * Created by 18710 on 2017/8/24. */public class LongestCommonSubsequence { public static void main(Str
2018-01-17 21:26:08
364
原创 数据结构 - 二叉树 - 面试中常见的二叉树算法题
数据结构 - 二叉树 - 面试中常见的二叉树算法题数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。 本文主要介绍树中的常见的二叉树数据结构。包括概念简介二叉树中树节点的数据结构(Java)二叉树的遍历(Java)常见的二叉树算法题(Java)概念简介如果对二叉
2018-01-17 21:16:09
27037
3
原创 数据结构 - 链表 - 面试中常见的链表算法题
数据结构 - 链表 - 面试中常见的链表算法题数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。 本文主要介绍线性表中的常见的链表数据结构。包括概念简介链表节点的数据结构(Java)常见的链表算法题(Java)。概念简介如果对链表概念已经基本掌握,可以跳过该部
2018-01-17 17:35:00
4155
1
原创 排序算法 - 面试中的排序算法总结
排序算法总结查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对
2018-01-17 15:32:49
2831
转载 markdown语法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I
2018-01-17 09:38:49
439
1
原创 文章转载-见贤思齐焉,见不贤而内自省也
技术相关后端IDEA下的Maven工程读取properties等资源文件的路径问题设置TOMCAT启用GZIP压缩Mysql 中Got a packet bigger than‘max_allowed_packet’bytes的问题Lucene中文分词(Ik Analyzer),Ik Analyzer 的github(可以下载到本地看看)43中语言的停用词表,中文停用词表,中英文停用词表,
2017-12-19 16:07:32
429
原创 Idea+Maven+Jersey2+Tomcat配置Web服务
Idea+Maven+Jersey2+Tomcat配置Web服务关于在Idea中使用Maven来管理配置Jersey2服务的文章有很多,本文主要总结自己踩过的一些坑,希望对大家有所帮助。基本环境配置可以参考博客: https://www.cnblogs.com/huaxingtianxia/p/5581259.html。 https://www.cnblogs.com/M...
2017-12-18 11:27:45
1254
原创 mysql数据库备份心得
mysql数据库备份/恢复等心得-Navicat for mysql一、数据传输如下图所示,选择”工具”->”数据传输”。 “源“中选择你要导入的连接来源和并选择相应的带导入的数据库,”目标“中选择你需要将数据恢复到的数据库连接和数据库名称。在“数据传输”的“高级”选项中,可以设置是否包含索引,遇到错误继续(建议选上)等。 最后点击“开始”进行导入即可。 优势...
2017-12-18 11:06:19
521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人