簡體   English   中英

分布式SOA結構與設計

[英]Distributed SOA structuring & designing

因此,基本上我目前正在計划重新推出已經建立的產品。 該產品目前僅基於一大塊,我想將其分為單個服務,可以單獨擴展。 我已經研究了一段時間了,但是我找不到關於如何正確地構建/設計SOA應用程序的任何好方法。

以登錄為例,以下設置是處理登錄的正確/可接受的方法嗎?

  • Web服務,基本上處理所有傳入流量
  • 帳戶服務,處理用戶身份驗證

用戶登錄服務示例

現在的流程如下:

  1. 用戶訪問Web服務,該服務提供登錄UI
  2. 用戶輸入電子郵件和密碼,單擊“登錄”
  3. 該Web服務將POST請求發送到帳戶服務,該請求發布在account.example.org/api/
  4. 帳戶服務驗證憑據並將結果返回到Web服務

這是在SOA中處理/構建服務的一種可接受的方式(真的很簡單)。 如果是,我如何與其他服務(不會對網絡公開/訪問)進行服務身份驗證(如帳戶服務)? 基本身份驗證? 還是通過身份驗證服務器?

我應該將所有內容都放在api.example.org之類的東西上,而不是將每個服務都放在具有相應/api/終結點的不同子域(例如account.example.org/api/ )上嗎? 如果是,我該如何處理繁重的工作,或者如何擴展部分服務而不是整個API?

還有什么重要的要注意的?

當然,對於閱讀有關分布式SOA API設計的任何建議,我也將不勝感激。

乍一看,該工作流程草案似乎還可以,但是該主題涉及面很廣,在一個簡單的帖子中也不是一件容易的事。

  • 是的,一旦注冊成功,Basic Auth當然可以成為一種方法。
  • 我認為目前不需要子域,而是需要單個api端點,例如: api.example.org/accountapi.example.org/order
  • 除了將api部署到多台計算機(可擴展整個api的網絡場)之外,您還可以依靠緩存來查詢大數據; 顯然,帳戶方案不是一個很好的例子,但是如果您在此處有很多請求,它們很可能會擴展到api的其他部分; 一個例外是試圖強行登錄用戶的安全攻擊,在這種情況下,您可以在Web服務上設置某種驗證碼機制,並為您的api提供某種保護(拒絕來自同一ip的連接超過某個閾值,對於例)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM