自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HTTP浏览器缓存机制

1、HTTP浏览器缓存机制清晰明了的介绍http://www.cnblogs.com/sunxucool/p/3342790.html2、HTTP 头缓存Last-Modified,ETag,Expires附加代码介绍了如何使用http://www.cnblogs.com/sunxucool/p/3342758.html3、Http头介绍:Expires

2014-12-26 09:38:21 668

原创 ZooKeeper应用场景-分布式锁实现范例

1、下载zookeeper-3.4.*.tar.gz源码包2、新建一个java Project,例如TestProject3、看到里面的zookeeper-3.4.*/recipes/lock目录,按照源码package路径paste到TestProject。4、下载zookeeper的范例lock

2014-12-24 21:03:41 1387

原创 ZooKeeper应用场景-分布式锁设计

分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性。锁服务可以分为两类,一个是保持独占,另一个是控制时序。所谓保持独占,就是所有试图来获取这个锁的客户端,最终只有一个可以成功获得这把锁。通常的做法是把zk上的一个znode看作是一把锁,通过create znode的方式来实现。所有客户端都去创建 /distribute_lock 节点,最终成功创建的那个客户端也即拥有了这把锁。控制时序,就是所有视图来获取这个锁的客户端,最终都是会被安排执行,只是有个全局时序了。做法和上面基本类似,只是这里

2014-12-24 21:02:50 1725

原创 ZooKeeper使用场景-Leader选举

Leader选举又称为master选举是zookeeper中最为经典的应用场景了。 在分布式环境中,相同的业务应用分布在不同的机器上,有些业务逻辑(例如一些耗时的计算,网络I/O处理),往往只需要让整个集群中的某一台机器进行执行,其余机器可以共享这个结果,这样可以大大减少重复劳动,提高性能,于是这个Leader选举便是这种场景下的碰到的主要问题。 ZooKeeper需要在所有的服务(可理解为服务器)中选举出一个Leader,然后让这个Leader来负责管理集群。此时,集群中的其他服务器则成了此Leade

2014-12-24 21:01:55 6855

原创 ZooKeeper应用场景-集群管理

集群机器监控:这通常用于那种对集群中机器状态,机器在线率有较高要求的场景,能够快速对集群中机器变化作出响应。这样的场景中,往往有一个监控系统,实时检测集群机器是否存活。过去的做法通常是:监控系统通过某种手段(比如ping)定时检测每个机器,或者每个机器自己定时向监控系统汇报“我还活着”。 这种做法可行,但是存在两个比较明显的问题:1)集群中机器有变动的时候,牵连修改的东西比较多。2)有一定的延时

2014-12-24 21:01:00 1738

原创 ZooKeeper应用场景-配置管理

拿董老师的案例:设计一个基于 Zookeeper 的 Hadoop 配置管理服务, 该服务由两个功能模块组成:1) 配置文件更新组件 HadoopConfigUpdater (管理员修改配置文件后,执行该组件,将数据写入 Zookeeper) ,可将管理员修改的 Hadoop conf 目录打包成 conf.zip,并写入 Zookeeper 中/conf 节点(znode)中;2) 客户端监听者 HadoopConfigWatcher(运行在各个节点上) ,可监听/conf 节点,一旦得知节点数

2014-12-24 20:58:28 856

原创 ZooKeeper的特性

本篇包括以下内容:1、ZooKeeper的数据模型2、ZooKeeper会话及状态3、ZooKeeper watches4、ZooKeeper ACL5、ZooKeeper的一致性保证

2014-12-23 09:23:41 4781

原创 Zookeeper的配置

ZooKeeper的功能特性是通过ZooKeeper配置文件(Zoo.cfg)来进行控制管理的。这样的手机其实有其自身的原因。通过前面对ZooKeeper的配置可以看出,在ZooKeeper集群进行配置的时候,他的配置文档是完全相同的(对于集群伪分布式来说,只有很少的部分是不同的)。这样的配置方式使得在部署ZooKeeper服务的时候非常方便。如果服务器使用不同的配置文件,必须要确保不同配置文件中

2014-12-23 08:10:40 1118

原创 ZooKeeper的简单操作

1、使用ZooKeeper命令2、ZooKeeper API的简单使用Zook

2014-12-23 08:09:08 718

原创 Zookeeper的安装和配置

为更好了解Zookeeper,对书本和网上资料汇总本章首先介绍如何在不同的环境下安装并配置ZooKeeper服务、然后具体介绍如何通过ZooKeeper配置文件对ZooKeeper进行配置管理;最后介绍如何在不同环境下启动ZooKeeper服务。安装ZooKeeperZooKeeper有不同的运行环境,包括,单机环境、集群环境和集群伪分布式环境。这里,我们将分别介绍不同环境下如何安

2014-12-23 08:08:29 696

原创 Win7 自定义路径配置路径 cygwin部署hadoop

之前xp下使用cygwin搭建伪分布式环境,namenode和datanode的路径采用的都是默认,这样format后会自动生成数据,启动也没问题。hadoop路径:C:\cygwin\home\thinkpad\hadoop-1.0.4今天尝试自定义配置文件路径,不默认。发现1、路径不会自动创建 2、手动创建后jps 发现datanode和tasktracker启动不起来出现文件权限的问题3、启动后自动生成的目录如下:

2014-12-19 18:48:07 1504

原创 netty5.0之 ChannelPipeline和ChannelHandler

Netty的ChannelPipeline和ChannelHandler机制类似于Servlet和Filter过滤器,这类拦截器实际上上职责链模式的一种变形,主要是为了方便时间的拦截和用户业务逻辑的定制。Netty的Channel过滤器将Channel的数据管道抽象为ChannelPipeline,消息在ChannelPipeline中流动和传递。ChannelPipe持有I/O事件拦截器ChannelHandler的链表,由ChannelHandler对I/O时间进行拦截和处理,可以方便地通过新增和删除C

2014-12-19 18:43:29 1446

原创 netty5.0之Future和Promise

1、Future功能Future最早来源于JDK的java.util.concurent.Future,它用于代表异步操作的结果。相关API如下:可以通过get方法获取操作结果,如果操作尚未完成,则会同步阻塞当前调用的线程;如果不允许阻塞太长时间或者无限期阻塞,可以通过带超时时间的get方法获取结果;如果到达超时时间操作仍然没有完成,则跑出TimeoutException.isDone

2014-12-19 18:41:53 2459

原创 netty5.0之SingleThreadEventLoop & NioEventLoop

SingleThreadEventLoop继承自SingleThreadEventExecutor这是一个标准的线程池的实现。和JDK中线程池的实现大同小异。主要的用处就是执行任务。 NioEventLoop继承自SingleThreadEventLoop,作为NIO框架的Reactor线程,需要处理网络IO读写事件,因此他必须聚合一个多路复用器。

2014-12-19 18:30:40 2171 3

原创 netty5.0之EventLoop

1、EventExecutorGroup使用它的next()方法负责提供EventExecutor,除此之外,负责生命周期的任务处理,允许以全局方式关闭所有任务。2、EventLoopGroup 继承自EventExecutorGroup, 并提供EventLoop的生成方法next()(Special EventExecutorGroup which allows to register Channel's that get processed for later selection during th

2014-12-19 18:27:17 999

原创 netty5.0之Client端与Server端通信

待续

2014-12-19 18:17:24 1165

原创 zookeeper学习-他山之石

(1)Zookeeper快速搭建和客户端使用 (2)应用场景(3)编程与应用(4)扩展阅读

2014-12-12 15:01:05 806

原创 netty5.0之server端NioServerSocketChannel的bind分析

上一篇我们说到dobind作为一个task加入taskQueue等待SingleThreadventExecutor执行,那么它是如何触发的呢?bind准备工作对channelpipeline和channelHandler做了哪些,handler链含有哪些元素呢?channel进行bind过程中对handler的执行次序是什么呢?handler链在fireChannelActive中handler都做了哪些?本文一一进行揭示,有不当之处欢迎拍砖。

2014-12-05 19:32:23 2570 3

原创 netty5.0之server端NioServerSocketChannel的init和register流程

Channel经历了initAndRegister和doBind0两步骤,本篇主要学习intAndRegister的流程,该流程主要做了:使用group初始化channel;channel参数赋值,初始化监听handler;第一次启动SingleThreadEventExecutor,并把register任务加入taskQueue中。

2014-12-05 19:31:26 1741

原创 netty5.0之Server端NioEventLoopGroup的初始化

1、NioEventLoopGroup构造函数public class NioEventLoopGroup extends MultithreadEventLoopGrouppublic abstract class MultithreadEventLoopGroup extends MultithreadEventExecutorGroup implements EventLoopG

2014-12-05 19:30:00 3178 3

原创 netty5.0 源码剖析-例子

为了学习netty的原理,以如下的例子进行了调试,如果使用请修改DEFAULT_URL和bind的ip值,以运行打印出的http进行访问即可。本例是netty作为文件服务的例子。package netty.chapter10;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;i

2014-12-05 19:26:09 1921 1

Hadoop rpc源码

Hadoop rpc源码是从Hadoop分离出的ipc,去掉了认证部分,附录使用文档.使用前请add lib包commons-logging-*.*.*.jar(我用的是1.0.4)和log4j-*.*.*.jar(我的1.2.13) 相关blog post: http://blog.csdn.net/lzlchangqi/article/details/41280781 http://blog.csdn.net/lzlchangqi/article/details/41312299 http://blog.csdn.net/lzlchangqi/article/details/41344761 http://blog.csdn.net/lzlchangqi/article/details/41278599

2014-11-21

Java自实现Socket服务

详见http://blog.csdn.net/lzlchangqi/article/details/41278599 1、工程导入Eclipse,add log4j.***.jar 到path后 ,运行ServerExampleMain和ClientExampleMain即可,更详细可以打断点调试或查看日志。注意例子ClientExampleMain没有返回结果。 2、可以根据自己需要定制SocketHandler。

2014-11-19

高质量指南.pdf 电子书

看过的人可能对此评价不错,不妨试一下,内容给包含:命名规则、表达式和基本语句、内存管理 构造函数等

2009-09-19

eclipse 的propedit插件

在MyEclipse开发中,用该插件,在ApplicationResources.properties文件直接输入中文,在保存消息资源文件时,propedit自动完成中文到unicode的转换

2009-09-19

linux操作系统讲义

内容涵盖了Linux的安装、常用命令行命、令Linux的编程、文件管理、内核等

2009-08-19

空空如也

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

TA关注的人

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