Mysql AmazonSQS将数据库写入漏斗

Mysql AmazonSQS将数据库写入漏斗,mysql,queue,scale,amazon-sqs,Mysql,Queue,Scale,Amazon Sqs,假设我正在构建netflix,并希望通过用户ID和电影ID记录每个视图 格式为viewID、userID、timestamp、 然而,为了扩展这一点,假设我们每秒获得1000个视图。将这些视图排入SQS队列,然后我们的队列读取器可以逐个取消队列,并将其写入mysql数据库,这有意义吗。这样,数据库就不会因写请求而过载 这看起来会有用吗?费萨尔 这是一个合理的架构;但是,您应该知道,写入SQS的速度要比写入RabbitMQ(或任何本地)消息队列慢很多倍 默认情况下,SQS FIFO队列通过批处理每

假设我正在构建netflix,并希望通过用户ID和电影ID记录每个视图

格式为viewID、userID、timestamp、

然而,为了扩展这一点,假设我们每秒获得1000个视图。将这些视图排入SQS队列,然后我们的队列读取器可以逐个取消队列,并将其写入mysql数据库,这有意义吗。这样,数据库就不会因写请求而过载

这看起来会有用吗?

费萨尔

这是一个合理的架构;但是,您应该知道,写入SQS的速度要比写入RabbitMQ(或任何本地)消息队列慢很多倍

默认情况下,SQS FIFO队列通过批处理每秒最多支持3000条消息,或者不通过批处理每秒最多支持300条消息(每秒300次发送、接收或删除操作)。要请求增加限额,您需要提交支持请求

尽管如此,从SQS开始并不是一个坏主意,因为它易于使用和调试

此外,您可能希望调查MongoDB的日志记录……请查看以下参考资料:

MongoDB非常适合记录日志

封顶系列

使用MongoDB进行实时分析


非常感谢您!链接很棒。仅供参考,我不再推荐MongoDB用于日志记录。现在,我可能会使用卡夫卡风格的东西,并可能使用多个流消费者处理器。其中一个处理器应该是流的整个历史的备份,以便于重播。