2

DjangoでJSONAPIを構築しました。モデルをアップサートするために、外部サービスからDjangoにリアルタイムの更新を送信したいと思います。

現在/今後/アクティブなフレームワークとツールを使用してシステムを設計するための最良の方法についての洞察を本当に探しています。私の考えは、以下に説明するnode.js/Django/Foremanを使用しています。

  1. 既存のDjangoJSONAPI
  2. Foremanを介して実行されているnode.jsアプリで、外部チャネルにサブスクライブされています。
  3. そのチャネルはノードにJSONメッセージを送信します
  4. ノードはメッセージを消費HTTP POSTし、DjangoAPI内のURLにJSONを作成します。
  5. Django APIは、JSONメッセージを使用して、Djangoアプリケーション内のモデルをアップサートします。

さて、私はこの方程式からnode.jsを排除し、HTTPを通過するのではなく、「家に少し近い」生活を送るサービスを手に入れることができるはずです。家はDjangoアプリです。

質問:私が今持っている解決策は効率的なアプローチですか、そして物事を行うためのより良い方法はありますか?

4

1 に答える 1

1

他のサービスにどのように登録する必要がありますか?他のサービスがあなたのURLの1つを直接呼び出す場合は、Djangoにそこでリッスンさせます。

他のサービスでサーバーとして機能する必要がある場合(非Webサーバー、たとえば非Webポートで接続する場合)、サーバーをそこで実行する必要がありますが、ここでもNodeを使用せず、単純なPythonサーバーを作成します(おそらくasynccoreモジュールを使用して)これは、foreman + manage.pyを介して開始でき、モデルに直接アクセスできます。たとえば、Djangoに送信するためだけにデータをjsonにマーシャリングする必要はありません。

単純なtcp接続を介して他のサービスに接続する場合でも、上記のような非ノードアプローチを採用します。

PS:効率についてはあまり気にしないでください。設計されたソリューションを開発する前に、システムをできるだけシンプルにしてください。

于 2012-04-20T18:10:16.260 に答える