0

現在、別々のホストで実行されている2つのdjangoアプリケーション間のサーバーとクライアントの関係があるプロジェクトに取り組んでいます。

サーバーは、サプライヤ、企業、製品などの大量のリレーショナルデータを保存して提供する必要があります。

クライアントは、要求に応じてサーバーからデータをダウンロードし、データベースに追加します。クライアントは、ステーションからデータベースにアップロードしてデータベースを拡張することもできます。

これを開発した前の人は、XMLRPCを使用して、サーバーからクライアントに膨大な(通常13MBの)XMLファイルを転送しました。今、私たちが送信しているのは、データベースに格納されるデータベースに依存しないオブジェクトだけなので、もっと効率的な方法があるのではないかと思いました。

必要な場合は詳細をお尋ねください。何を知っておく必要があるのか​​よくわかりませんでした。

編集:ネットワーク、およびサーバー側の処理の点で効率的です。クライアントは手間のかかる作業を行うことができます。

4

1 に答える 1

0

共有データベース設計の方が適しているようです。しかしもちろん、セキュリティ、政治的、または組織的な理由でそれが除外される場合もあります。さらに、大幅な再設計が必要になります。

ネットワーク帯域幅を削減するには、まず HTTP gzip 圧縮が有効になっていることを確認します。

それが単なるデータ転送である場合、JSON は一般に XMLRPC よりもはるかにコンパクトになります。データは JSON への直接変換に適しているように見えますか? これには、サーバー側の処理が必要です。

最小限のサーバー側処理 (データベース テーブルが比較的類似している場合) では、関連する db クエリのダンプをクライアントに送信するだけで非常に効率的です。もちろん、テーブルのスキーマが同じでない限り、生の SQL をクライアント側で処理する必要がありますが、これは理想的ではありません。

于 2012-07-05T11:56:47.690 に答える