我有一个生产环境,可以处理多个数据源的数据流。目前,我实时解析数据,数据在 Windows 消息队列中排队。我在某处读到任何给定队列中的最大数量为 10000。我担心的是,随着数据量的增加 x 100,我将增加流的数量 x 10。当然,我的处理需要能够扩展,我我不确定当前的设置是否可行。
我目前的机器和开发环境:
Visual Studio 2010 Sql server 2008 R2 Windows 2008 RS 标准 Dell PowerEdge R-610 双四核 Xeon 处理器 4x300GB HDD 2.5" Intel() Xeon(R) CPU E5649 @ 2.53 GHZ(双处理器) 32 GB RAM 64 位操作系统
如果每个队列的最大帖子数为 10000,我实际上可以拥有的最大队列数是多少?使用更多机器会更可行,还是可以修改这些机器以适应新涌入的数据?我目前将每条消息/帖子异步写入 txt 文件以存储一段时间,因此也需要考虑到这一点。
Imports System.Messaging
...
Dim q As MessageQueue
If MessageQueue.Exists(".\private$\TwitterQueue") Then
q = New MessageQueue(".\private$\TwitterQueue")
End If
message = q.Peek(TimeSpan.FromSeconds(20.0))
这是 Windows 消息队列服务。将不得不阅读其他类型。