Web アプリケーションのモジュール化に関する意見を募集しています。言語に関係なく、ほとんどのアプリケーションにはすでにバックエンド DB があり、それぞれの Web アプリケーション サーバー (Apache、IIS、Lighttp など) との連携をサポートしていますが、私が扱った多くの開発者は、Memcached などの使用に問題を抱えています。 Web アプリの即時プロセス空間の外側。
Web アプリケーションのモジュール化は、私が信じているように良いことなのか、それともビジネス ロジックの特定の部分を Web フロント エンドから移動することをシニア デベロッパーから CTO に至るまで躊躇させている何かが欠けているのでしょうか。特殊なバックエンド サービス?
たとえば、数年前、非常にトラフィックの多い Web サイトのプロジェクト設計会議で、フロント エンド フレームワークからプロセス集約型の ACL ロジックを取り除き、それをセミクラスタリング可能なサービス アプリケーションに変えることを提案したとき、私は打ちのめされました。バックエンド。私にとってのメリットは、コードをより明確に分離できることと、たとえば PHP と Python の間のブリッジとして REST/JSON を使用することで、複数の場所で ACL ロジックを再利用できることでした。
私のアイデアに反対した開発者は、「複雑すぎる」と主張しましたが、どうすればいいのかわかりませんでした。私の主張は、プレゼンテーション レイヤーにタグ スープが存在する可能性があるのと同じように、コードのロジック スープが存在する可能性があり、多くの場合、問題が発生した場合に「外科的」修正を実行することはほぼ不可能になる可能性があるということです。
要するに、大規模なアプリケーションを独立しているが協調的なプロセス(スレッドやサブリクエストではない)に分割することの短所と長所は何ですか。MySQL、Memcache、同様のサービス プロセスは優れていますが、他のサービス プロセスが優れているのはなぜでしょうか? この道のりはどのように「複雑すぎる」のでしょうか?