3

身爲廉價鄰,我,我有一個想法運行的Web應用程序的每月不到鎳與AWS的一天:靜態網站與微服務?

  • 即成靜態站點(HTML/CSS/JavaScript的)經由S3
  • 客戶端代碼和形式經由API網關
  • 使用DynamoDB(25讀/秒,25寫入/秒,25GB,1GB/MO中,1GB/MO出)作爲數據庫
  • 張貼到LAMBDA golang微服務

該計劃是否可以使用基於cookie和基於sesssion的身份驗證,如pag e由一個域名(S3)提供服務,但javascript正在與另一個域名(API網關)通話?

我可能會遇到什麼其他問題?

+0

S3不會爲您提供cookie,因此您必須使用'document.cookie'從您的JavaScript讀取和寫入Cookie。 –

+1

謝謝,我實際上並不需要訪問JavaScript中的cookie我認爲,只需將它發送到API網關的AJAX調用即可。 HTML頁面(由www.example.com提供)將包含登錄表單。該表單發佈到API網關(api.example.com/login),該網關通過HTTPS返回HttpOnly cookie。從那裏,Javascript XMLHttpRequest調用到api.example。com應該包括cookie,對吧? –

+0

這是正確的。只要所有的API端點都在同一個域上,就應該可以工作。 –

回答

1

麥克羅伯茨寫了無服務器體系結構及其取捨非常透徹的文章:http://martinfowler.com/articles/serverless.html

還發現設計正是這一個框架,它運行在AWS:https://serverless.com/

然而,此時出現,不支持持久連接(例如websockets),這對我來說是一種破壞行爲。我懷疑AWS最終會讓API Gateway爲WebSocket提供服務並將其消息發送給Lambda,但截至今日,這似乎不可能。

-1

一件事要記住使用「無服務器」架構是:

會怎樣,如果‘這件事’真正起飛?」

大多數人都沒有考慮如何高請求Lambda或DynamoDB的費率可以在您的網站變得非常流行或受到DDOS攻擊時獲得。

與您的請求率一樣,您的總費用也會在這些活動中看到明顯的高峯。所以對於低成本真的很重要的「小項目」,我通常建議堅持一些小型虛擬機來處理處理。雖然高請求率或DDOS可能會壓倒你的服務,但你可能不會遭受無恥的賬單。

雖然無服務器非常方便安裝,但它可以非常輕鬆地反彈比預期更難。

注意:如果您確實發現自己的賬單高於預期,請聯繫您的雲提供商。根據具體情況,他們中的一些人可能願意爲您收取一部分費用的一次性信貸。

但準備好解釋發生了什麼詳細情況。我還建議使用服務日誌(不僅限於您的應用程序),而且還要使用您正在使用的任何雲服務。