2017-03-28 7 views
1

私はアーキテクチャの質問があります。バックエンドサーバーのデータ取得とUI取得のデータ

私は現在、すべての従業員情報を表示する従業員情報システムのシステムアーキテクチャに取り組んでいます。しかし、ユーザーに表示する必要がある情報は現在、2つのシステムに格納されています。しかし、ユーザーのUIでは、データを統合ビューで表示する必要があります。これには2つの選択肢があります。

オプション#1:二つのシステムからのデータの両方をフェッチし、それを表示するUI送信

つのバックエンドサーバ。

オプション#2:

一つのバックエンドサーバは、UIに表示し、他のシステムからデータを取得し、他のsystem.UIからデータを取得するために、1つのシステムとリンクからのデータを送信します。

私によれば、オプション#2は、データが必要に応じてUIによって取り出されるため、より優れています。しかし、このアプローチの関心事は、UIは、多くのHTTP要求を行うsystem2への呼び出しを繰り返す必要があるということです。

どのオプションが優れているのか、その理由は何ですか?

答えて

0

使用するUIの窓口として1バックエンドサーバ..代わりに、最初のサービスからのリンクを送信する

+0

答えをサポートするための詳細情報をご提供ください。そして、ここでは、適切な理由と論理を持つ提案を求めています。「どちらのオプションが良いのか、そしてその理由は何か、という提案を得ることはできますか?」あなたは、これを言いたければコメントを使用することができました。 – kabirbaidhya

0

1を並列に両方の呼び出しを置くことができます。両方のサービスからデータをフェッチします。

長所:

  • ワンバックエンドサーバーが複数のユーザーのデータをキャッシュすることができUI
  • 少ない潜在的な競合状態
  • 要求との安全な接続
  • を検証するための一つのバックエンドサービス
  • データセットに何らかの関係がある場合は、システムが実装可能GraphQL
  • 2つの別々の要求よりも大きなデータを高速に転送することができます

短所:

  • つのサービスがダウンしている場合は、ユーザーがリクエストに応じてバックエンドの時間までの任意の情報を参照し、それらの二組の場合は、部分的な応答に一般に
  • を送信しません
  • 別のサーバー/サービスを維持するためには、ユーザーに価値のある何かを表示するUIのために時間がかかり、大きなある

2. 2つのバックエンドサービスを使用し、両方のデータセットをUIでマージします。

長所:

  • 貴重なフィードバック迅速可視UI、例えば、一つのサービスが停止している
  • つ輸送層(他のいずれかの最初のものとWebSocketのためのHTTP)

短所:

  • オプション1からの反対意見