我正在设计一个系统,我将有多个用户上传大量数据。我最初的例子是 100 个用户每天上传 100Mb。
我需要获取数据,将其插入数据库,处理数据库(ETL)中的数据,然后使用“抛光”数据进行分析。
上传的文件将以 65k 的块(初始设计)接收。
为了避免遇到瓶颈,我正在考虑使用 MSMQ 构建它,我将数据放入 MQ,然后将其传递给不同的“程序/工具”,这些“程序/工具”将处理数据,然后通过 MSMQ 向 ETL 工具发送信号以开始做它的东西。
或者,我正在考虑一种“线性”方法:
--> receive data
--> save data to sql
--> wait for upload finish (run the two above until no more chunks)
--> signal the ETL to do its thing
--> When ETL is done report "Done" to callee
哪种方法似乎更好?有没有其他选择?目标是拥有数千名用户......据我所知,这种方法会锁定客户端/下载器。