3

SOA 設計の Web アプリを実装したいと考えています。これを行うために、Django と組み合わせてセロリを使用することを考えています。しかし、いくつか質問があります。

  1. これは、Django の SOA 設計を実装するための正しい方法ですか?
  2. これが進むべき道であると仮定すると、Django フレームワーク内で認証を行うにはどうすればよいでしょうか。具体的には、認証をプロデューサーとコンシューマーのパターンで分離したいと考えています。そうすれば、REST API (またはその他のもの) を使用して認証資格情報を生成し、コンシューマー (Django フレームワーク内) を使用して資格情報を読み取って操作することができます。

繰り返しますが、Djangoのセロリで上記を行う必要がありますか?

4

2 に答える 2

9

メッセージ キュー (セロリによって仲介される rabbitmq など) は、SOA コンポーネント間の通信を処理するための完全に優れた方法です。さらに、サービス間でデータベースを共有せずにリアルタイム通信が必要な場合、REST は基本的にそのために作られています。Django の上に REST サービスを実装するにはいくつかのオプションがあり、Tastypie と Django-Rest-Framework が一般的な選択肢です。

コンポーネント間の認証の受け渡しに関しては、Django にはいくつかのオプションがあります。一般的な意見に反して、Django 認証フレームワークは非常に柔軟で、バックエンドを作成できるあらゆるものに対する承認/認証をサポートしています。これに関するドキュメントについては、https://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backendを参照してください。

これにはすでに多くの例があります。

認証の発行に関しては、オプションは少なくなりますが、次のものが含まれます。

独自のロールオーバーでビルドおよびテスト済みのプロバイダー パッケージを使用することを強くお勧めします。SSO の実装は、一見すると難しいものです。

于 2012-05-01T21:05:28.107 に答える
4

Django は実際には SOA 用に構築されていません。認証の場合、Django には明確に定義された認証フレームワークがあり、Web、API などで簡単に再利用できます。

一般的に言えば、独自のアーキテクチャを柔軟に定義したい場合、Django はおそらく適していません。web.pyのようなもっとミニマリストなものを検討したいかもしれません。

于 2012-04-29T00:30:25.997 に答える