`
文章列表
一个分布式的系统一般都会有很多的节点,节点和节点之间的通讯采用远程调用的方式,而当在实现业务逻辑的时候,我们可以通过客户端的实现方式实现,目前实现客户端的方式有两种方式,瘦客户端和富客户端。   第一种方式 瘦客户端:   所谓瘦客户端类似于之前EJB那种方式,瘦客户端本身不具有业务逻辑,瘦客户端通过业务接口调用服务端逻辑,这个时候逻辑运算还是跑那个被多个系统共用的服务器,这样当存在大量的请求的情况下,负责逻辑运算的服务器就会成为瓶颈,这个时候可以有两种方式来解决这种瓶颈问题:   第一水平伸缩负责逻辑运算的服务器,这个时候涉及到客户端请求的负载均衡,每次将远程调用采用负载 ...
        Quercus是JAVA编写的PHP渲染引擎,可以用来对PHP代码进行渲染。         今天在项目中,根据long类型的ID查询对象的时候老是发现通过quercus引擎调用以后,参数和实际的值不一样,经过跟踪源码发现,quercus中Value类中的toJavalong方法将long类型的数据强制转化为int型,从而导致此BUG。 原来toJavalong方法的实现方法如下: /** * Converts to a java Long object. */ public Long toJavaLong() { return new ...
               在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。        在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当
    以前都是用JAVA,PHP没用过,今天因为一些原因,需要搭建一个WIKI,于是就搭建了一下,下面记录一下一些问题:   首先是apache和php集成的问题:(修改apache的httpd.conf)   1 apache 的httped.conf文件中的配置不要用中文,刚开始php安装在了中文目录,老是apache识别不了PHP。   2 增加 LoadModule php5_module "php安装目录/php5apache2.dll"                                 PhpIniDir = "php安装目 ...
       时间过得很快,来新公司已经两个月了,在这两个月的时间里,自己也感受颇深。下面就说说自己的一些理解。    一 应用无状态        俗话说,一个系统的伸缩性的好坏取决于应用的状态如何管理。为什么这么 ...
前段时间面试了IBM,淘宝(IBM是别人推荐的,因为本人兴趣在互联网方面,最终放弃了IBM),最终选择淘宝,于是乎,过几天要起身去杭州了,有没有哪位兄弟有房源,有的可以通知下额。  
内容见本人发的如下贴,欢迎讨论: http://www.jdon.com/jivejdon/thread/38325
最近因为项目原因,研究了Cassandra,Hbase等几个NOSQL数据库,最终决定采用HBase。在这里,我就向大家分享一下自己对HBase的理解。 在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法 ...
今天接着补全上篇博文。 三 垃圾收集策略配置 3.1 吞吐量优先 吞吐量是指GC的时间与运行总时间的比值,比如系统运行了100分钟,而GC占用了一分钟,那么吞吐量就是99%,吞吐量优先一般运用于对响应性要求不高的场合, ...
首先祝大家春节愉快,几个月前研究了一下JVM的内存模型,整理学习心得,共享出来和大家一起学习讨论进步。   一 JVM内存模型 1.1 Java栈 Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。 StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。 1.2 堆 Java中堆是由所有的线程共享的一块内存区域,堆用来保存各种
今天看了Eventually Consistent,我结合自己的理解总结核心的思想如下: 1 CAP理论简介     10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP(Consistency,Availability,partition tolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个(至于CAP理论的证明,可以参考附件的论文)。   在CAP理论的指导下,架构师或者开发者应该清楚,您当前架构和设计的系统真正的需求是什么 ...
 今天看了一篇文章觉得不错,大体上总结如下:     说到伸缩性,我们一般都会想到存储的伸缩以及本身应用程序的伸缩,下面这篇文章讲解了对传统的关系数据的伸缩以及如何通过内存数据网格来进行应用程序的伸缩。 ...
附件是本人收集和朋友给的一些架构文档,需要的兄弟可以下载看看。
这一篇是可伸缩性的最佳实践,我自己也说了说自己的理解。 异步  同步调用使得组件和组件之间紧密耦合起来,这样就使得要想伸缩应用就需要伸缩所有的组件,这不仅带来使得伸缩的成本增加,而且这种高度耦合性使得 ...
5 领域驱动设计实战 5.1传统的开发方式和领域驱动设计对比 传统的软件一般是action->service->dao,系统大部分的业务逻辑都在service,没有一个核心领域的概念,这样整个软件系统在扩展起来就是通过在Service里面增加方法或者继续增加更多的Service,这样以来,随着系统开发过程的不断演进,这个service层也就变的非常庞大,这个时候已经完全丧失了领域的概念,业务逻辑的复用性变的很低,有时候为了实现某种功能,自己都很难发现到底这个功能再哪个Service里已经实现了,即使自己知道实现相同的功能的那个service,为了实现某个功能,你需要把其它的S ...
Global site tag (gtag.js) - Google Analytics