Architecture
文章平均质量分 74
lovingprince
关注大型WEB系统架构的高可用性、高性能处理
展开
-
spring中使用autowire特性时注意
spring中可以只用autowire="byName"或者"byType"来提供自动注入。但是大家有一点还需要注意,那就是它不支持基本数据类型(String,int,long等)的自动注入。例如JAVA类:public class TestBean { private String name; private Long age; private String fullName原创 2009-01-07 17:41:00 · 2001 阅读 · 1 评论 -
关于Jboss/Tomcat/Jetty的JNDI定义123
貌似有段时间没来这里忽悠了,今天抽空接着忽悠下这三个服务器配置JNDI时的一些异同点并提点自己的建议。Jboss 4 Jboss中配置JNDI最常见的就是在配置数据源的时候,在server/default/deploy目录下方一个xxx-ds.xml文件,内容如下: jdbc/DataSource j原创 2011-06-30 18:43:00 · 5966 阅读 · 1 评论 -
Zookeeper 3.3.3消息序列化格式解析
Zookeeper 客户端使用Packet来管理消息,. Packet管理 请求包头(RequestHeader)和请求包体(Record的不同实现,类似于ExistsRequest在调用zookeeper.exists时发送),应答包头(ReplyHeader)和应答包体(Re原创 2011-09-17 01:37:33 · 3924 阅读 · 0 评论 -
Zookeeper 3.3.3 FastLeaderElection算法总结
FastLeaderElection. lookForLeader():1、 logicalclock++,表示是新一轮leader选举,它是一个内存值,服务器重启就会导致该值归0,所以如果服务器活得越久,这个值随着应该越大,每一轮选举会保持所有机器该值始终是其中相同的最大原创 2011-09-27 15:52:34 · 4469 阅读 · 9 评论 -
Zookeeper 3.3.3 LeaderElection算法总结
LeaderElection. lookForLeader():1. 生成一个随机数xid2. 对每一个PARTICIPANT依次执行如下步骤:a) 发送xid,等待消息该PARTICIPANT返回。b) 响原创 2011-09-30 17:58:12 · 2787 阅读 · 0 评论 -
Zookeeper 3.3.3 启动过程
不管是leader,还是Follower 还是Observer,QuorumPeerMain启动时,会通过QuorumPeer.start()方法启动监听客户端请求的端口,一旦有客户端请求来到,会建立连接并等待客户端发送ConnectRequest请求,如果客户端此时发来Conn原创 2011-10-07 10:11:10 · 4303 阅读 · 1 评论 -
ZK 客户端事件-状态对应关系图
KeeperState.SyncConnected 时事件类型为EventType.None发生在客户端收到ConnectResponse,与客户端协调好session time的时间后,会触发一个KeeperState.SyncConnected 的None事件类型。原创 2011-10-18 19:46:30 · 4489 阅读 · 0 评论 -
ZK session客户端过期(Expired)过程
一般情况下,zk客户端与服务端建立连接后,会在2/3*sessionTime*1/2的时候发送一个心跳消息到服务端,保持会话更新。但是可能在某个时候网络中断可能导致客户端无法连接上服务端,此时客户端会不停的依次重试各个服务器,一直到连接上某个服务器为止。如果在未连接上这段时间内,原创 2011-10-18 19:19:41 · 22788 阅读 · 4 评论 -
ZK ACL访问控制处理流程
Zk 对znode操作采用ACL进行了访问权限控制,类似于linux提供的读写权限,ZK将操作权限划分以下几种:CREATE/READ/WRITE/DELETE/ADMIN,· CREATE: 表示有权限创建一个子节点· READ: 表示可以getData或者getChildren· WRITE: 表示可以setData· D原创 2011-11-04 13:31:55 · 7112 阅读 · 0 评论 -
Zookeeper 3.3.3 服务器配置项详细解释
最小配置 clientPort 监听客户端连接的端口 dataDir 内存数据库快照存放地址,如果没有指定事务日志存放地址(dataLogDir),默认也是存放在这个路径下,建议两个地址分开存放到不同的设备上。 tickTime 心跳基本时间单位,毫秒级,ZK基本上所有的时间都是这个时间的整数倍。高级配置(可选,有的需要直接通过系统属性进行设置) dataL原创 2011-10-08 21:17:48 · 9079 阅读 · 0 评论 -
Socket代理转发小记
本地转发代码forward.py#!/usr/bin/env pythonimport osimport socketimport selectimport SocketServerimport sysimport paramikodef verbose(s): print sclass ForwardServer (SocketServer.Thr原创 2011-12-16 12:01:37 · 5469 阅读 · 0 评论 -
JNDI和在Jetty中的运用
转载请注明出处 http://blog.csdn.net/lovingprince 第一部分 引子我们应用想用统一的方式去查找我们想要的服务,通过格式化的名称例如:jdbc:comp/testa去获取jdbc的服务,Ldap:comp/testa去获取ldap服务,每种服务如何去查找我们并不关心,服务查找实现方式变更了,我应用程序也不需要改变。看下要求:1、原创 2011-04-26 17:00:00 · 14341 阅读 · 5 评论 -
从劫匪的行动来看同步、异步、阻塞、非阻塞
从劫匪的行动来看同步、异步、阻塞、非阻塞原创 2011-05-03 15:14:00 · 2387 阅读 · 3 评论 -
Jetty和Tomcat 配置上的一些异同
Jetty和Tomcat配置上的一些异同原创 2011-04-12 17:09:00 · 6329 阅读 · 0 评论 -
java 类加载器体系结构
原创 2009-07-02 20:42:00 · 5767 阅读 · 1 评论 -
站在使用者的角度设计应用服务接口
界面是系统和终端用户的交互接口,界面的美观与否,使用流程通畅与否,错误提示友好与否等等都直接影响到用户的体验,一个体验不好的系统相信不会有用户青睐的。同理,系统之间进行交互,特别是不同的业务主体的业务系统之间进行交互,服务提供方和使用方就扮演了一个提供者和用户的角色。我看到经常有开发人员在处理外部接口时抓狂,骂别人接口写得烂,写得非常不好用,骂过了别人,那么自己写的接口呢?可能也被另原创 2009-12-10 17:47:00 · 2236 阅读 · 0 评论 -
SNA (Share Nothing Architecture) Session 解剖
集群中部署的web应用系统往往会强调无状态性,之所以这么要求,一方面是当然是为了便于集群扩展,但是对于有session要求的系统来说,无状态确实没法做到,既然没法做到,那么对于集群部署的应用来说,就要考虑到状态的保存和同步问题,因此衍生了 session状态复制 以及 striky session 两种技术,第一种是通过服务器集群中相互复制session状态来保障同步,优点是简单,缺点也明显工作量大,性能低下(大于5台),第二种方式呢,就是把同一个用户的session绑定在一个服务器上,避免了复制原创 2010-09-14 14:40:00 · 5649 阅读 · 2 评论 -
多域名(跨域)登录信息共享解决方案乱弹
多域名跨域登录信息共享解决方案原创 2010-09-28 17:18:00 · 12218 阅读 · 6 评论 -
计算机频率、内存相关杂谈
计算机传统架构是分为 北桥和南桥两个芯片组,其中北桥连接着CPU、显卡、以及内存等高速设备,南桥则连接着硬盘、USB、PS/2、PCI等等低速设备,不直接与处理器打交道,北桥和南桥之间也是通过Hub架构进行连接原创 2010-12-20 19:24:00 · 5311 阅读 · 0 评论 -
硬盘分区、寻址和系统启动过程
硬盘分区、寻址、系统启动原创 2011-01-05 15:39:00 · 12494 阅读 · 1 评论 -
Jetty 服务器架构分析(中)
Jetty 服务器架构分析-服务器启动过程原创 2011-02-23 16:08:00 · 6818 阅读 · 5 评论 -
Jetty 服务器架构分析(上)
Jetty 服务器实现架构分析原创 2011-02-23 15:31:00 · 18235 阅读 · 5 评论 -
Jetty 服务器架构分析(下)
Jetty服务器架构分析-请求处理原创 2011-02-23 16:16:00 · 7723 阅读 · 8 评论 -
IO Models
摘选自: Addison Wesley - UNIX.Network.Programming.Volume.1.3rd.Ed.The.Sockets.Networking.API-LiB ,喜欢的朋友可以去找找这本书,很经典的。原创 2011-05-17 09:08:00 · 2668 阅读 · 3 评论 -
Jetty 类加载器体系结构
jetty 类加载器体系结构介绍原创 2011-04-10 23:06:00 · 7699 阅读 · 5 评论 -
文本文件逻辑分段方案
为了对一个大的文本文件进行并行解析处理,需要按照固定的大小或者行数的方式对文件进行拆分,这样可以加快处理速度,可以的分块方案如下:1、 按照特定字节大小将文件分割为若干逻辑块,如果小于分块大小的合并到其中一个分块中,以上例子记录了分块大小为100字节的例子,最后一个分块大小为101字节2、 每个分块需要记录3、 可能会产生的预知结果是某些行被割裂在不同的分块中原创 2013-02-19 16:01:09 · 3459 阅读 · 0 评论