作者uopsdod (pcman)
看板Soft_Job
標題[心得] 實務經驗分享-AWS Lambda & RDS 整合探討
時間Mon Feb 17 20:15:14 2020
https://youtu.be/NRpLW8QIe5o 這是個互動式的系列教學影片,每個主題將會分成兩部分:
1. 第一部分會跟大家呈現實務上遇到的問題,讓大家一起討論並思考可行的解決方案。
2. 第二部分會跟大家分享當初我選擇的解決方案,可能不是最佳解,但相信也能促進大
家不同面向的思考!
這次要來探討的架構圖:
https://imgur.com/yxL4w38 之前工作上為了處理批次作業,且想要盡量減少server維運成本,而有了這次的架構。
但實作之後,發現了一些當初沒有預想到的問題。
我還滿珍惜這些實務上的經驗,就是遇到這些意外狀況,
讓我有機會去思考多種解決方案,這樣的過程都非常有趣。
這次想透過這樣的互動形式,讓大家一起討論看看如果是你/妳會建議怎麼解決!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.45.7 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1581941716.A.BB9.html
推 ldkrsi: 省成本的話不考慮跳gcp? 02/17 22:28
推 drajan: 精美的serverless插入record進資料庫 還沒實作就知道會出 02/18 00:45
→ drajan: 問題 這帳單應該會很精彩 02/18 00:45
推 domototice: 可以講簡單點嗎?還要別人查專有名詞以及了解你的原理 02/18 05:40
→ domototice: 不是複雜就顯得很有學問,批次作業被改善的方式可以 02/18 05:41
→ domototice: google,不要讓人家以為讀台大的就是待待,謝謝。。。。 02/18 05:41
→ SimonJones: 某樓看不懂不要看? 02/18 09:54
推 uly: 去年底發表的RDS Database proxy好像就是要解這個問題 02/18 11:06
推 uly: 當然多用一層aws服務就是$$$ 不然就自己實作connection pool 02/18 11:08
推 uly: 更大調整就是就是視data性質與use case不用RDS改DynamoDB 02/18 11:30
好提議,RDS Proxy看來真的是針對這類架構的官方方案之一
"A surge of connections or a large number of open connections could strain
your database server, leading to slower queries and limited application
scalability. By pooling and sharing already established database connections,
RDS Proxy allows you to efficiently scale to many more connections from your
serverless application."
documentation:
https://aws.amazon.com/tw/rds/proxy/ (still in preview 2020.02.19)
a clear overview of this solution:
https://imgur.com/9iyXZzC → alan3100: batch就做成batch呀..你用S3trigger是async<>bacth 02/18 12:47
→ alan3100: 如果你只是要serverless且先不考慮scalable 02/18 12:54
→ alan3100: schedule event->lambda->foreach(listobj)->moveToBK 02/18 12:58
推 domototice: 你等著,我來研究,小弟不才,說話多有得罪抱歉! 02/18 14:01
→ domototice: 可以解釋為什麼要用AMS的嗎?用雲端的比較省成本嗎? 02/18 14:30
→ domototice: 用硬體的sever連接資料庫比較貴嗎? 02/18 14:31
→ domototice: 你的最大連線數為什麼要設成5個 ,10個不行嗎? 02/18 14:32
→ domototice: 應該要有個成本比較分析表,把虛擬的實體的算進去... 02/18 14:34
推 domototice: 批次檔案的上傳個數 不能做時間限制嗎?比如分成兩三次 02/18 14:37
推 domototice: 謝謝影片的教學跟分享,感謝大大! 02/18 14:39
→ domototice: alan3100大大,->foreach(listobj)->moveToBK能解釋嗎 02/18 14:42
→ domototice: 都是Amazon的service,可混和Amazon跟其他廠商或自寫嗎 02/18 15:11
推 VegasBlvd: 架構不大改,我會在中間加一層SQS 02/18 16:36
→ VegasBlvd: 看資料型態,會考慮用DynamoDB取代RDS. 02/18 16:37
※ 編輯: uopsdod (101.12.45.7 臺灣), 02/19/2020 00:41:15
→ alan3100: 樓上接SQS也是一個很好的方式。原PO這範例式設計問題很 02/19 10:18
→ alan3100: 多,db con, vpc ip,db io, lambda concurrent..每個都 02/19 10:18
→ alan3100: 要講一小段,懶得打那麼多。另外DB的選用是只要OLTP且要 02/19 10:18
→ alan3100: salable再考慮dynamo,不然再上去的設計規模你會做到死 02/19 10:18
推 drajan: Dynamo的成本是unbounded , 而且schemaless , 有duplicate 02/19 20:26
→ drajan: 就精彩了. access pattern也未知,詳細的設計還是要看需求 02/19 20:26
→ drajan: 是什麼,沒有需求之前都是做好玩的 02/19 20:26
→ domototice: 意思是不同資料庫類型嗎?現在有關聯式跟NoSQL資料庫 02/19 21:26