0

やや大規模な新しいプロジェクトを開始しています。API とダッシュボードの 2 つのコンポーネントがあります。クライアントはダッシュボードを使用してデータをインポートおよび整理し、API を使用してリモートでアクセスします。

基本的に、これら 2 つのコンポーネントは同じモデル クラスとサービスを使用しますが、それらの上に別のアクセス ポイントを構築します。私の質問は次のとおりです。(1) リポジトリとディレクトリを共有する同じプロジェクトの一部として 2 つのコンポーネントをビルドするか、(2) 異なるプロジェクトでそれらをビルドし、モデルを 3 番目のコンポーネントとして共有する必要がありますか?

  1. すべてがすでに 1 か所にあるため、管理が容易になります。ただし、常に両方を展開する必要があり、実際には API サーバーとダッシュボード サーバーを適切に分離することはできません。
  2. 一方、別の責任を持つサーバーを持つことができますが、3 番目のコンポーネントを管理する必要があります。

これについて最善の方法は何ですか?

Laravel フレームワークの経験がある場合、さまざまなモジュールをどのように実装しますか?

4

1 に答える 1

1

まあ、私はlaravelの経験はありませんが、しばらくの間Zend Framework 2を使用していました。開発には、ドメイン駆動設計+ MVCのアプローチを使用しています。

私の提案は、最初のアプローチを使用することです。

1. コードは保守しやすい

何かを変更したい場合は、1 つの場所で 1 つのことを変更するだけで済みます。共有したすべてのコピーではありません

2.サーバー

サーバー専用のタスクを実行できるように、2 台目のサーバーが必要になるのではないかと心配しています。非常に大きなタスク (1 時間に数百万通のメールをクライアントに送信するなど) がない限り、特定のタスク専用のサーバーについて心配する必要はありません。

サーバーの前にロードバランサーを配置するだけです。この方法では、大量の API 呼び出しが行われるがダッシュボードがない場合でも、両方のサーバーを使用し、1 つがリラックスしているわけではありません。

3.維持する

3 番目の何か (ダッシュボード、API、サイト?) があれば、多くの変更を加えることなく、現在のコード ベースで簡単に拡張できます。

tl;dr 最初のものをお勧めします

于 2013-06-05T12:18:12.307 に答える