我有多个lambda函数,一个文件通过这些函数进行处理,我希望将每个计算的状态存储在一个计数器中,以便更好地记录和监视。
当前的计划是这样记录它:
file-name Lambda1 Lambda2 Lambda3
Name1 Done Done In-process
并且,我将在文件各自的Lambda函数下更新作为Received
、In-process
和Done
的值。
因此,有两个疑问:
发布于 2017-03-02 21:23:17
为什么不像Redis那样?(可以通过ElastiCache使用)。如果不知道这个项目的操作要求,就很难回答这个问题。这些数据是严格用于日志记录/研究的,还是可操作的(即查询此“表”以了解要调用哪个lambda )。
迪纳摩和RDS --取决于你的流量有多大。Dynamo是非常可伸缩的,它将为您提供一个有保证的吞吐量。但是,如果您的流量可以增长10倍的时间(尖峰),Dynamo可能太昂贵,因为您将需要最大的吞吐量供应,否则您将被勒死。
RDS基本上是在您选择的实例类型上进行管理的RDBMS,因此它可以处理更大的峰值,但最终不能像Dynamo那样具有可伸缩性。
再次,我会考虑Redis,因为它的简单(似乎你只需要一个KV/计数器商店),和难以置信的速度/效率。如果只是为了伐木,那可能就足够了。
发布于 2017-03-02 22:45:45
(关于问题1)
我认为这可能在SoftwareEngineering SE上得到更好的回答。
尽管如此,我还是要冒一个风险:对于来自这种体系结构(分布式)的这种信息(状态),我推荐事件源。如果有人试图使用传统的数据库范例,那么它就消除了分布式系统的复杂性和许多问题。
对于问题2:两者都会有效。要知道什么更好、更便宜,我们需要更多地了解您的用例。
发布于 2018-01-05 15:57:59
成本将取决于您每秒写入的消息的数量。最常见的情况是DDB更便宜。如果您的吞吐量很高,每秒10k次请求,那么您的DDB成本将需要仔细考虑。
但是,在这种情况下,我会再次推荐使用S3将日志消息输出到文件中。我认为从技术上讲,这将是一个很好的解决方案,与DDB或RDS相比,其建立和维护成本仅为成本的一小部分。
https://devops.stackexchange.com/questions/261
复制相似问题