作者: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在集群中的架构参考:
通过使用socket通讯模式的LAJP,可以搭建出简单的分布式的WEB集群架构:
复杂架构应用
LAJP使用的灵活性,架构的设计和选择更多在于我们自己的思想,下面的架构参考在WEB层、EJB层都使用了集群:
memcache是分布式的内存对象缓存技术,在PHP中可以非常方便的将Session数据存储在其中,来同步WEB集群中各节点中的数据,从这 里也可以体现到PHP在WEB领域相对于Java的“专业”。