作者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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1581941716.A.BB9.html
1F:推 ldkrsi: 省成本的话不考虑跳gcp? 02/17 22:28
2F:推 drajan: 精美的serverless插入record进资料库 还没实作就知道会出 02/18 00:45
3F:→ drajan: 问题 这帐单应该会很精彩 02/18 00:45
4F:推 domototice: 可以讲简单点吗?还要别人查专有名词以及了解你的原理 02/18 05:40
5F:→ domototice: 不是复杂就显得很有学问,批次作业被改善的方式可以 02/18 05:41
6F:→ domototice: google,不要让人家以为读台大的就是待待,谢谢。。。。 02/18 05:41
7F:→ SimonJones: 某楼看不懂不要看? 02/18 09:54
8F:推 uly: 去年底发表的RDS Database proxy好像就是要解这个问题 02/18 11:06
9F:推 uly: 当然多用一层aws服务就是$$$ 不然就自己实作connection pool 02/18 11:08
10F:推 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
11F:→ alan3100: batch就做成batch呀..你用S3trigger是async<>bacth 02/18 12:47
12F:→ alan3100: 如果你只是要serverless且先不考虑scalable 02/18 12:54
13F:→ alan3100: schedule event->lambda->foreach(listobj)->moveToBK 02/18 12:58
14F:推 domototice: 你等着,我来研究,小弟不才,说话多有得罪抱歉! 02/18 14:01
15F:→ domototice: 可以解释为什麽要用AMS的吗?用云端的比较省成本吗? 02/18 14:30
16F:→ domototice: 用硬体的sever连接资料库比较贵吗? 02/18 14:31
17F:→ domototice: 你的最大连线数为什麽要设成5个 ,10个不行吗? 02/18 14:32
18F:→ domototice: 应该要有个成本比较分析表,把虚拟的实体的算进去... 02/18 14:34
19F:推 domototice: 批次档案的上传个数 不能做时间限制吗?比如分成两三次 02/18 14:37
20F:推 domototice: 谢谢影片的教学跟分享,感谢大大! 02/18 14:39
21F:→ domototice: alan3100大大,->foreach(listobj)->moveToBK能解释吗 02/18 14:42
23F:→ domototice: 都是Amazon的service,可混和Amazon跟其他厂商或自写吗 02/18 15:11
27F:推 VegasBlvd: 架构不大改,我会在中间加一层SQS 02/18 16:36
28F:→ VegasBlvd: 看资料型态,会考虑用DynamoDB取代RDS. 02/18 16:37
※ 编辑: uopsdod (101.12.45.7 台湾), 02/19/2020 00:41:15
29F:→ alan3100: 楼上接SQS也是一个很好的方式。原PO这范例式设计问题很 02/19 10:18
30F:→ alan3100: 多,db con, vpc ip,db io, lambda concurrent..每个都 02/19 10:18
31F:→ alan3100: 要讲一小段,懒得打那麽多。另外DB的选用是只要OLTP且要 02/19 10:18
32F:→ alan3100: salable再考虑dynamo,不然再上去的设计规模你会做到死 02/19 10:18
33F:推 drajan: Dynamo的成本是unbounded , 而且schemaless , 有duplicate 02/19 20:26
34F:→ drajan: 就精彩了. access pattern也未知,详细的设计还是要看需求 02/19 20:26
35F:→ drajan: 是什麽,没有需求之前都是做好玩的 02/19 20:26
36F:→ domototice: 意思是不同资料库类型吗?现在有关联式跟NoSQL资料库 02/19 21:26