
Architecture
xmuzyu
这个作者很懒,什么都没留下…
展开
-
Java EE ear包类加载机制解析
在介绍EAR包的类加载器机制之前,我们需要了解一下JavaEE中都有哪些类型的包。一 JavaEE 包的类型在J2EE中,有ejb-jar包,war包,rar包,car包,ear包,其中经常会用到ejb-jar包,war包,以及ear包,下面分别说明。1 EJB Jar 包 (.jar) 1.1 作用Ejb jar是EJB模块,主要用于实现业逻辑。 1.2 描述符文件E...2009-04-13 17:09:22 · 263 阅读 · 0 评论 -
Web开发之Http Cahce
在如今的 web 系统中, cache 应该是每个 web 系统架构师或者开发人员必须要掌握的技能。而 cache 在 web 的世界中一般分为客户端 cache( 当然有些人也叫它浏览器 cache) 和服务端 cache, 这篇文章不涉及 服务端 cache 的内容 . 下面我们主要来看看客户端 cache 所涉及 http header 相关联的知识。 ...2011-07-17 21:53:55 · 248 阅读 · 0 评论 -
高性能IO设计的Reactor和Proactor模式
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看...2010-10-12 23:22:01 · 500 阅读 · 0 评论 -
构建可伸缩,高性能的互联网应用
时间过得很快,来新公司已经两个月了,在这两个月的时间里,自己也感受颇深。下面就说说自己的一些理解。 一 应用无状态 俗话说,一个系统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存了大量与客户端的状态信息的话,那么当保存状态信息的server宕机的时候,我们怎么办?通常来说,我们都是通过集群来解决这个问题,...2010-07-12 00:28:09 · 130 阅读 · 0 评论 -
CAP理论以及Eventually Consistent 解析
[size=medium]今天看了[url=http://www.allthingsdistributed.com/2008/12/eventually_consistent.html]Eventually Consistent[/url],我结合自己的理解总结核心的思想如下:1 CAP理论简介 10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth G...原创 2010-01-17 14:16:24 · 197 阅读 · 0 评论 -
Scaling with IMDG(通过内存数据网格进行伸缩)
今天看了一篇文章觉得不错,大体上总结如下: 说到伸缩性,我们一般都会想到存储的伸缩以及本身应用程序的伸缩,下面这篇文章讲解了对传统的关系数据的伸缩以及如何通过内存数据网格来进行应用程序的伸缩。 首先对于传统的RDBMS的伸缩,大家比较熟悉主要有以下两种方式: Database replication:这也是经典的Master/salve模式的实现,这种方式最大...原创 2010-01-16 21:45:00 · 216 阅读 · 0 评论 -
系统为什么要分层?
在日常的软件开发当中,我们一般都是采用了分层的方式来架构系统,但是为什么我们需要分层进行架构呢?在此之前,我觉得需要搞明白两个概念,什么是软件的伸缩性,什么是性能。首先,什么是软件的伸缩性(Scalability)?我们都知道设计良好的系统可以应对不断增加的系统访问量,但是我们如何能在系统用户增多的时候,来提高系统的吞吐量呢?这就是伸缩性之魅力所在。伸缩性可以有两个方面,...2009-07-14 14:53:35 · 153 阅读 · 0 评论 -
ebay,youku,facebook等架构文档,需要的兄弟可以看看!
附件是本人收集和朋友给的一些架构文档,需要的兄弟可以下载看看。2009-12-18 22:28:33 · 108 阅读 · 0 评论 -
DCI,领域模型,领域事件的一些想法
内容见本人发的如下贴,欢迎讨论:http://www.jdon.com/jivejdon/thread/383252010-03-25 22:37:00 · 149 阅读 · 0 评论 -
可伸缩性最佳实践
这一篇是可伸缩性的最佳实践,我自己也说了说自己的理解。异步 同步调用使得组件和组件之间紧密耦合起来,这样就使得要想伸缩应用就需要伸缩所有的组件,这不仅带来使得伸缩的成本增加,而且这种高度耦合性使得伸缩变得更加困难。因此我们需要从应用角度划分出,哪些业务操作是紧密关联的,哪些是可以异步执行的,划分出那些可以异步执行的操作,然后将其进行异步化处理(比如通过JMS,事件队列,多播消息等或...2009-12-06 19:30:16 · 124 阅读 · 0 评论 -
J2EE资源管理常见策略总结
公所周知J2EE底层是多线程的,无论何种资源管理的策略都是与线程相关的,因此通过合理的资源管理来应对多线程的环境是非常关键的。下面就我所知道的,总结如下:第一种:实例池 实例池管理策略就是通过将我们的业务组件的实例保存到池中,这样可以达到重用的目的。说到实例池,需要明确一下单线程模型的概念,所谓单线程模型就是一个实例在某一时间只能服务于同一个线程,单线程模型使得无状态的业务组件不需要...2008-12-07 20:40:05 · 97 阅读 · 0 评论 -
关于系统性能的思考
在评价一个系统的时候,性能指标是很重要的,那么在当前J2EE的系统开发当中,如何来提高系统的性能呢?我觉得应该从对象管理入手,从对象的生命周期开始。虽然大家可能会说,Java有垃圾收集器,我们的对象的生命周期不需要我们自己管理,但是如果要是真的过分依赖java语言本身的特性,那么我相信,系统的性能肯定好不到哪去。所以,下面就主要从三个方面入手来说一下我的想法。第一:容器化系统功能性组件 ...2009-04-24 14:24:42 · 131 阅读 · 0 评论 -
J2EE业务层模式:服务门面,应用服务,以及业务委托,服务定位器
[size=small]现在J2EE领域无论是表现层,业务层还是持久层,框架满天飞,虽然说框架为我们省了很大的力气,但是我们还是需要掌握J2EE里面经常用到的一些模式,下面对J2EE领域业务层的几个模式做一个小的总结:服务门面,应用服务,业务委托,服务定位器这四个模式是J2EE中经常要用到的几个模式,其中服务门面我们可以通过POJO或者是EJB中session bean来实现,应用服务就是与服...2008-05-04 19:37:56 · 132 阅读 · 0 评论 -
控制反转(IOC)的理解
控制反转模式是当今J2EE架构中常用到的模式之一,它符合好莱坞法则:不要调用我,我会调用你。在没有运用IOC的时候,我们一般都是通过工厂来管理对象,当我们需要一个对象的时候,我们通过工厂来创建它,这样就造成了业务代码和工厂的耦合,并且更重要的是需要我们自己来管理对象的生命周期,这样非常繁琐,所以如果我们运用IOC的话,不仅可以解除业务代码与工厂的耦合,而且不用我们进行生命周期管理,大大的减...2008-04-07 00:00:27 · 227 阅读 · 0 评论 -
关于事务的一些学习笔记
今天在整理资料的时候发现了之前学习事务的时候的一些学习笔记,顺便写篇blog记录一下备以后查验。 一事务是什么1 事务的概念1.1 为什么需要事务 在我们日常系统开发当中,我们是不是不可避免的要对一些数据资源进行访问,但是我们怎么来保证我们对数据资源的访问不会破坏数据资源的完整性呢?这个时候就需要事务了,正是引入...2011-12-09 18:05:46 · 130 阅读 · 0 评论