自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Netty线程模型

《Netty实战》这本书对于Netty的线程模型讲的还是太浅了,后来我找到一篇不错的文章。原文链接:http://www.infoq.com/cn/articles/netty-threading-model?utm_source=infoq&utm_campaign=user_page&utm_medium=link#anch1120041. 背景1.1. Java线

2017-09-24 19:29:51 625

原创 Netty实战读书笔记四:Bootstrapping

在深入地学习了 ChannelPipeline、ChannelHandler 和 EventLoop 之后,你接下来的问题可能是:“如何将这些部分组织起来,成为一个可实际运行的应用程序呢?” 答案是, 引导(Bootstrapping)。Bootstrap 类引导类的层次结构包括一个抽象的父类和两个具体的引导子类,如图 8-1 所示。服务器致力于使用一个父 Channel 来接受 来自客

2017-09-24 19:13:42 599

原创 Netty实战读书笔记三:EventLoop和线程模型

EventLoop 接口运行任务来处理在连接的生命周期内发生的事件是任何网络框架的基本功能。与之相应的编 程上的构造通常被称为事件循环— 一个 Netty 使用了 interface io.netty.channel. EventLoop 来适配的术语。代码清单 7-1 中说明了事件循环的基本思想,其中每个任务都是一个 Runnable 的实例。Netty 的 EventLoop 是协同设计的一部分

2017-09-24 17:45:41 600

原创 Netty实战读书笔记二:ChannelHandler和ChannelPipeline

ChannelHandler家族Channel生命周期Interface Channel 定义了一组和 ChannelInboundHandler API 密切相关的简单但 功能强大的状态模型,表 6-1 列出了 Channel 的这 4 个状态。 Channel 的正常生命周期如图 6-1 所示。当这些状态发生改变时,将会生成对应的事件。 这些事件将会被转发给 ChannelPipeline 中

2017-09-24 16:41:20 607

原创 Netty实战读书笔记一:Netty的组件和设计以及它的传输

工作中用到了GRPC, 而它又用到了Netty, 所以最近在学习Netty的相关内容。第三章 Netty的组件和设计Channel 接口基本的 I/O 操作(bind()、connect()、read()和 write())依赖于底层网络传输所提 供的原语。在基于 Java 的网络编程中,其基本的构造是 class Socket。Netty 的 Channel 接 口所提供的 API,大大地降低

2017-09-23 15:08:25 510

原创 Consul实现原理系列文章3: Consul的整体架构

工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理。在前几篇文章介绍完了Consul用到的两个关键性东西Raft和Gossip之后,这篇文章会讲述Consul的整体架构。本文基于一篇别的译文,并做了一些改进和完善。术语表代理(agent): 代理是Consul集群上每个成员的守护进程,它是由consul agent开始运行。代理能够以客户端或服务

2017-09-07 22:37:01 6107 3

原创 Consul实现原理系列文章2: 用Gossip来做集群成员管理和消息广播

工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理。这篇文章会讲述Consul是如何使用Gossip来做集群成员管理和消息广播的。Consul使用Gossip协议来管理集群中的成员关系,以及把消息广播到集群中。而这些Gossip的特性是利用Serf这个lib来实现的。下面,我们先来看看什么是Gossip协议。Gossip协议 在学习Gossip的

2017-09-06 22:47:18 1768

原创 Consul实现原理系列文章1: 用Raft来实现分布式一致性

工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理。在前一篇文章中,我介绍了Raft算法。这篇文章会讲讲Consul是如何使用Raft算法来实现分布式一致性的。Consul中的Raft只有以server模式运行的Consul节点,才会被认为是Raft节点集的一部分。所有的client节点会把收到的请求转发到server节点中。这么设计的原因主要是出于

2017-09-03 14:48:47 7313

原创 分布式一致性之Raft算法

最近工作中用到了Consul,在学习过程中,发现它是基于Raft来做分布式一致性的。正巧以前学习过Raft, 那么就正好借此机会复习一下吧!

2017-09-02 19:44:29 1904 3

Android UI模板之自定义Topbar

Android UI模板之自定义Topbar,利用自定义属性、配置式赋值等方式,提高代码可复用性。

2015-06-07

Android APP版本更新源码

Android APP版本更新源码,利用进度条实时显示下载进度。

2015-06-04

Android仿QQ下拉刷新

自定义ListView,仿QQ下拉刷新效果

2015-06-02

空空如也

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

TA关注的人

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