Heim >Backend-Entwicklung >PHP-Tutorial >java-ee - 有个负载比较大的项目,想前台用php,后台用java

java-ee - 有个负载比较大的项目,想前台用php,后台用java

WBOY
WBOYOriginal
2016-06-06 20:52:14860Durchsuche

使用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请求,这样吗?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn