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

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
