首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
核动力蜗牛
掘友等级
搬砖熟练工
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
13
文章 13
沸点 0
赞
13
返回
|
搜索文章
赞
文章( 13 )
沸点( 0 )
Zookeeper源码分析-一致性协议Zab
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性的核心。Zab协议是Paxos协议的一种变形,下面将展示一些协议的核心内容。 全序(Total Order):如果消息A在消息B之前发送,则所有Server应该看到相…
Zookeeper源码分析-Zookeeper角色
Follower与Observer并称为Learner。 Leader的工作流程简图如下所示,在实际实现中,流程要比下图复杂得多,启动了三个线程来实现功能。 PING:Learner的心跳。 REQUEST:Follower发送的提议信息,包括写请求及同步请求。 ACK:Fol…
Zookeeper源码分析-Zookeeper Leader选举算法
当Leader崩溃或者Leader失去大多数的Follower,这时候zk进入恢复模式,恢复模式需要重新选举出一个新的Leader,让所有的Server都恢复到一个正确的状态。Zookeeper中Leader的选举采用了三种算法: 并且在配置文件中是可配置的,对应的配置项为el…
Zookeeper源码分析-Zookeeper Server启动分析
Zookeeper Server的启动入口为org.apache.zookeeper.server.quorum.QuorumPeerMain。Zookeeper的启动模式分为两种:一种为standalone mode;另一种为cluster mode。 Standalone模…
Zookeeper源码分析-数据模型
本文主要介绍Zookeeper的数据模型,包括Zookeeper的数据视图,节点类型以及节点所包含的信息。 Zookeeper的数据视图采用的是类似Unix的数据视图,但是并没有引入文件系统的相关概念:目录和文件,而是引入了节点的概念,称为Znode。它是Zookeeper最小…
Zookeeper源码分析-源码编译
Zookeeper的代码构建采用的是,所以可以直接使用ant命令进行编译。
Java ClassLoader分析
一个Java程序是由若干个class文件组成。当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个class文件不存在的,则会引发Cla…
Java中的设计模式
《设计模式:可复用面向对象软件的基础》一书中提出了24中经典的设计模式,这些设计模式被广泛地运用于项目实战之中。这篇博客的重点并不在于讲解这些设计模式以及使用,而主要列举了在Java Core Libraries中间所用到的设计模式。Java Core Libraries中的A…
Spark Troubleshooting - Task not serializable问题分析
出现“org.apache.spark.SparkException: Task not serializable”这个错误,一般是因为在map、filter等的参数使用了外部的变量,但是这个变量不能序列化。其中最普遍的情形是:当引用了某个类(经常是当前类)的成员函数或变量时,…
Spark架构简介
一个Spark集群一般拥有单个的Driver和多个的Executor。Spark Driver和Executor都是独立运行的JVM进程,它们可以运行在单台机器上,也可以运行在多台机器上。 Spark Driver是一个Spark Application的主入口,它可以用Sca…
下一页
个人成就
文章被点赞
29
文章被阅读
17,227
掘力值
221
关注了
1
关注者
5
收藏集
0
关注标签
21
加入于
2018-06-18