Rumah >pembangunan bahagian belakang >tutorial php >java-ee - 有个负载比较大的项目,想前台用php,后台用java
使用java做后台主要是考虑
1:数据量比较大
2:需要接的系统比较多
但是不知道怎么去构架,目前的想法是通过url的方式把2个结合在一起,各位有什么好的想法
使用java做后台主要是考虑
1:数据量比较大
2:需要接的系统比较多
但是不知道怎么去构架,目前的想法是通过url的方式把2个结合在一起,各位有什么好的想法
前台PHP后台Java的架构还是比较流行的,我建议的连接方式就是RPC
Java直接提供web服务出来,一般用JSON做交互,这样PHP和JS都可以直接去调用,比较灵活。
而且局域网web服务的性能也不错,一般不会出现问题。
P.S. 还有一点,就是做web服务,能用php的就用php,能不用java就不用java
JAVA数据服务提供REST接口,数据压缩使用protobuf。
PHP与JAVA的高并发数据交互使用REST接口交互,数据使用protobuf压缩,Redis作为队列,减小瞬间压力对服务器的冲击。
PHP提供所有对外接口和页面实现,隐藏JAVA实现。
缓存系统考虑:多级缓存,冷热分离,数据按服务分离,水平扩容。
数据库考虑:水平/垂直切分,冷热分离,考虑数据库水平扩容的代价。
所有的架构,归根结底还是看你的系统特征和规模,没有正确的,只有合适的。
web服务用php,做前台模板和数据逻辑的基本处理,对于数据的调用和计算有几种方式:
1.php直接调用底层服务(db/mq)、自己做应用服务层,java负责整合其他服务通过统一的rpc服务接口供php调用,rpc方案可以采用(FaceBook的Thrift/Google的Protobuffer/Apache的Avro)rpc的方案好处就是消息传输效率上比rest的http通讯来说高。(php做应用为主,java提供外部服务整合)
2.java做所有数据业务逻辑的处理统一接口,php通过rpc接口调用java来写的应用层服务。(java做应用服务为主,php提供前台的灵活展现)后端如果有必要也可以对外直接提供一个rest风格的接口供调用。
中间使用消息队列,异步并且方便横向扩展
擦,都是大神啊,想问个问题,我们这边要用java后端保存PHP的日志,是用的protobuf协议,想问PHP是怎么和JAVA通信的?
是每次PHP要发送日志,就调用java提供的接口,产生一个HTTP请求,这样吗?