ZooKeeper之ZAB协议

  ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法,**ZAB(ZooKeeper Atomic Broadcast )全称为:原子消息广播协议;ZAB可以说是在Paxos算法基础上进行了扩展改造而

一致性算法Raft详解

背景   熟悉或了解分布性系统的开发者都字段一致性算法的重要性,Paxos一致性算法从90年提出到现在已经有二十几年了,而Paxos流程太过于繁杂实现起来也比较复杂,可能也是以为过于复杂 现在我听说过比较出名使用到Paxos的也就只是Chubby、libpaxos,搜了下发现Keyspace、Ber

一致性算法Paxos详解

  分布式系统除了能提升整个系统的性能外还有一个重要的特性就是提高系统的可靠性,可靠性指的是当分布式系统中一台或N台机器宕掉后都不会导致系统不可用,分布式系统是state machine replication的,每个节点都可能是其他节点的快照,这是保证分布式系统高可靠性的关键,而存在多个复制节点就

两阶段提交协议与三阶段提交协议

  在分布式系统中通常存在着多个机器节点,每个节点只能控制自己事务的成功与失败而无法获知其他节点的事务执行结果,这时当事务操作跨越多个节点时就会存在无法满足分布式系统ACID中的数据一致性(Consistency)问题,这时就需要一个协调节点了统一调到分布式系统中其他节点的事务操作。   在分布式系

Java—Lambda基础

  虽然JVM有着Scala 、Groovy 、Clojure 等依赖于JVM的函数语式语言,但直到Java8才算是java正式支持函数式编程;   Java8中加入了Lambda的支持标志着Java正式加入了混合式编程语言(支持命令式编程与函数式编程)的行列;像C#、Python都是同时支持两种编

透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化

  序列化在高性能网络编程、分布式系统开发中是举足轻重的之前有用过Java序列化、ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Java序列化、Kryo、ProtocolBuffer序列化; Java序列化为jdk自带的序列化

Docker是什么

Docker是什么 相信我们很多人都使用多VM(Virtual Machine),也就是虚拟机,简单的来说Docker就是类是于VM的容器,但Docker要轻量得多,VM(Virtual Machine)是重量级的;VM是硬件级别的虚拟化技术,而Docker只是内核级别的虚拟化技术,Docker是开

像编程一样写文章—Markdown

Markdown是什么 是一种极其简单的标记语言,写的时候只需要普通编辑器即可; 它可以使文本内存具有某种格式; Markdown设计理念使文本易读、易写 文件后缀名:.md 、 .markdown、 .mdown   Markdown可以让你像编程一样写文章,没错就是这么神奇!不要听到编程这两

并发模型—共享内存模型(线程与锁)示例篇

  共享内存模型,顾名思义就是通过共享内存来实现并发的模型,当多个线程在并发执行中使用共享资源时如不对所共享的资源进行约定或特殊处理时就会出现读到脏数据、无效数据等问题;而为了决解共享资源所引起的这些问题,Java中引入了同步、锁、原子类型等这些用于处理共享资源的操作;   在本篇文章中,将通过几个

并发模型——共享内存模型(线程与锁)理论篇

      这里我们使用Java的线程与锁来解析共享内存模型;做过java开发并且了解线程安全问题的知道,要使某段代码是线程安全的那必须要满足两个条件:内存可见性、原子性;  内存可见性       在JVM规定多个线程进行通讯是通过共享变量进行的,而Java内存模型规定了有主内存是所有线程共享的,
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×