LAJP系列教程-第五部分-架构设计

来源:互联网 发布:金融方面的数据挖掘 编辑:程序博客网 时间:2024/05/20 07:59

作者:diaoyf  |  文章来源:http://programmerdigest.cn

 

    PHP结合Java共同搭建WEB应用程序,是比较新鲜的事物,相对于单独使用PHP或Java,在架构设计上会觉得陌生而心生疑惑,本篇文章介绍如何在项目中使用LAJP,搭建出适合的程序架构来。

 

 

单服务器的三层架构

    我们从简单的三层架构说起,如果程序简单到不值得用三层架构,像最基本的blog、bbs等程序,建议直接使用纯PHP架构。

单服务器三层架构

[单服务器三层架构]

 

    图中PHP作为WEB服务层、Java为应用逻辑层,如果套用MVC,Java是Model,View和Control在PHP。此架构非常相似于J2EE中的JSP+JavaBean架构。

 

单服务器的三层架构2

    从性能和安全性角度考虑,将数据库独立出来也很常见:

独立数据库的单服务器三层架构

[独立数据库的单服务器三层架构]

 

分布式架构

    在重要的、关键性的业务场景中,用户交互层和业务层是分开部署的,LAJP在此类架构中可以这样使用:

分布式应用架构

[分布式应用架构]

 

WEB服务器中的Java是非常“薄”的一层,仅用来连接后面的EJB服务。

 

集群

    随着用户访问量的增加,WEB服务往往成为系统中的瓶颈,下面是LAJP在集群中的架构参考:

web集群

[web集群]

 

    通过使用socket通讯模式的LAJP,可以搭建出简单的分布式的WEB集群架构:

分布式WEB集群

[分布式WEB集群]

 

复杂架构应用

    LAJP使用的灵活性,架构的设计和选择更多在于我们自己的思想,下面的架构参考在WEB层、EJB层都使用了集群:

复杂架构

[复杂架构]

 

    memcache是分布式的内存对象缓存技术,在PHP中可以非常方便的将Session数据存储在其中,来同步WEB集群中各节点中的数据,从这里也可以体现到PHP在WEB领域相对于Java的“专业”。

原创粉丝点击