今のところ、非常に重いフロントエンド (実際には 1 つのアプリケーションでのフロントエンド + バックエンド) があります。フロントエンドには、UI、ビジネス ロジック、永続化ロジックなどのすべてのロジックが含まれています。たとえば、接続プールがないなど、いくつかのプラットフォームの問題 (PHP で記述されている) のため、これは非常に複雑で保守が困難です。
そこで、フロントエンドとバックエンドを分離するというアイデアを思いつきました。バックエンドはより便利なプラットフォーム (Java を使用する予定) で記述でき、フロントエンドは引き続き PHP を使用できます。
UIロジックはフロントエンドがすべきことだと思います。また、ここで実行されるコードベースにはいくつかの制限を適用する必要があります。
- 直接のデータベース呼び出しはありません。DB 呼び出しはスケーリングが難しく、SLA を提供するのも困難です。
バックエンドへのノンブロッキング統合 plotocol。フロントエンドがバックエンドに何かを要求した場合、フロントエンドはこの要求をブロックできないはずです。次の 2 つの点で役立ちます。
を。並列リクエストをバックエンドに送信できます (I/O を並列化)。
b. リクエストのタイムアウト (SLA) を提供できます。すぐに失敗し、クライアントをブロックしない方がよい場合があります。
したがって、上記のすべてを考慮すると、フロントエンドに最適なアーキテクチャ (私の場合、特効薬を宣伝していません) は、REST/SOAP バックエンドとのみノンブロッキングで通信する UI ロジックだと思います。このことについてどう思いますか?