0

基本的に私は現在、すでに確立されている製品のリニューアルを計画しています。現在のところ、この製品は1つの大きなチャンクに基づいているため、別々にスケーリングできる単一のサービスに分割したいと考えています。私はすでにしばらく掘り下げてきましたが、SOAアプリケーションを正しく構造化/設計する方法についての良いインプットは見つかりませんでした。分散型SOAの構造化と設計

ログインの例では、次の設定はログインを処理するための正しい/許容可能な方法でしょうか?

  • 基本的にすべての着信トラフィックを処理し、Webサービス、今の流れは次のようになり、ユーザー認証

User login service example

を扱う

  • アカウントサービス:

    1. ユーザーがWebサービスにアクセスし、ログインUIを提供します
    2. ユーザーがWebサービスはアカウントサービスが資格情報を検証し、に結果を返しますaccount.example.org/api/
    3. に公開されているアカウントサービスにPOST要求を送信
    4. 「にログインする」をクリックし、メールアドレスとパスワードを入力しますWebサービス

    SOAでサービスを処理/構造化する方法(実際には単純な方法)ですか?はいの場合、(アカウントサービスのような)ウェブに公開/公開されない他のサービスでサービスを認証するにはどうすればよいですか?基本認証?または認証サーバー経由でですか?

    対応する/api/のエンドポイントを持つ別のサブドメイン(account.example.org/api/など)の各サービスではなく、api.example.orgのようなものをすべて用意してください。はいの場合は、重い負荷を処理するにはどうすればよいですか、API全体ではなくサービスの一部をどのように拡大することができますか?

    他に何が注目されていますか?もちろん

    私はドラフトが一目でOKと思われるワークフローが、対象は、単純な単一の記事でカバーするのは簡単、かなり広範ではなく、分散型SOA APIの

  • 答えて

    1

    の設計についての測定値のための任意のrecommandationsをもいただければ幸いです。

    • はい、基本認証は確かにあなたが 登録を乗り越える一度行くための1つの方法ですることができます。
    • 私は、この時点でサブドメインのための必要性を見ていないが、同様ではなく、個々のAPIエンドポイント:複数のマシン(あなたの全体のAPIを拡張しまうWebファーム)であなたのAPIを配備から 離れapi.example.org/accountまたはapi.example.org/order
    • 、あなたが落ちることができます大きなデータを照会するコールのキャッシングに戻る。明らかにアカウントのシナリオは良い例ではありませんが、ここでたくさんのリクエストをするつもりなら、APIの他の部分にも拡張される可能性があります。 1つの例外はセキュリティ攻撃でユーザーのログインを強制しようとすることです。この場合、Webサービスで何らかの種類のcaptchaメカニズムを設定することができます。また、api(特定のしきい値を超えた同じipからの接続を拒否します例)
    +0

    回答ありがとうございます。私が異なるサブドメインを使用したがっていた問題は、別のマシン上で別のapiを持つことができないのですか?そのため、私は基本的にProxyやapi.example.org/{resource}を内部ドメインにルーティングするようなものが必要でしょうか? –