自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (4)
  • 收藏
  • 关注

原创 从ZooKeeper源代码看如何实现分布式系统(四)session管理

这篇看看ZooKeeper如何管理Session。 Session相关的接口如下: Session: 表示session的实体类,维护sessionId和timeout两个主要状态SessionTracker: Session生命周期管理相关的操作SessionExpier: Session过期的操作public interface SessionTrack

2016-01-29 16:57:49 3912

原创 从ZooKeeper源代码看如何实现分布式系统(三)高性能的网络编程

对网络编程来说,最基本的三要素是IO, 协议(编解码),服务器端线程模型。这篇来看看ZooKeeper是如何实现高性能的网络程序。IO模型ZooKeeper默认提供了两种网络IO的实现,一个是Java原生的NIO,一个是基于Netty的IO。先从ServerCnxn这个抽象类看起,它表示一个从客户端到服务器端的网络连接。ServerCnxn实现了Stat服务器端统计接口,Watch

2016-01-11 17:35:42 4292

原创 从ZooKeeper源代码看如何实现分布式系统(二)数据的高可用存储

这篇先从数据的高可用存储说起。ZooKeeper提供了分布式的目录服务,它存储的数据相比一个分布式存储系统来说很少,它主要是用来做分布式协同操作的。但是麻雀虽小,五脏俱全,ZooKeeper也必须要提供数据的高可用存储,对数据进行备份和恢复,以防出现服务器宕机导致数据丢失的情况。    高可用的数据存储有一个比较通用的解决方案,就是数据文件 + 日志文件的方式。比如传统数据库中的数据文件 +

2016-01-08 11:22:23 4090

原创 从ZooKeeper源代码看如何实现分布式系统(一)概述

最近看了几篇介绍如何设计高可用,高新能的分布式系统的文章,从设计的角度来看很多共性的模式,比如Master-Slave,CAP的3个维度,负载均衡,存储,数据同步,失效转移,集群的选主策略,心跳监控,高性能的网络编程,日志,可伸缩性等等。这些名词解决的是分布式系统的核心问题。光从设计上来说比较容易,但是实现起来很有难度。实际上我们有一个很好的实现例子可以参考学习,那就是ZooKeeper。ZooK

2016-01-02 10:59:54 4217 1

聊聊锁的那些事

包括硬件,操作系统的一些核心概念 线程,进程的实现原理 锁的原理 各种自旋锁算法 Java synchronized内置锁的实现原理 Java并发包的多种同步工具类的实现原理

2015-09-22

深入理解Java内存模型

Agenda: •什么是Java内存模型JMM •内存可见性 •有序性 •指令重排序 •内存屏障 •顺序一致性与Happens-before规则 •volatile, synchronized, 原子变量,锁, final的原理

2015-09-22

数据系统实现

数据库原理的经典书籍,描述了数据库原理,对于想深入理解数据库的人员有很大的指导意义

2014-10-24

jsr133.pdf

Java内存模型JSR官方文档,定义了Java内存模型的概念模型涉及到的所有方面,对理解JMM有很大的帮助

2014-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除