.net – 能够每秒处理40,000条消息的系统的模式和技术

我们需要构建一个能够每秒处理40,000条消息的系统.
任何软件或硬件故障都不会丢失任何消息.

每条消息大小约为2-4Kb.

处理消息包括验证消息,进行一些简单的算术计算,将结果保存到数据库以及(有时)向其他系统发送通知.

优选的软件技术是.Net.

哪种软件和硬件模式最适合此类任务?

它需要多少硬件?

最佳答案
>消息队列.您的流程听起来像是它的主要目标.
>群集/负载平衡.
>简化您的代码

我要做的第一件事就是排队通知.然后我将所有不需要返回值的数据库写入队列.然后我会考虑扩展.

其他考虑:
*避免一个庞大的笨重的框架,比你可能需要的更多的工作背后的场景.
*尽可能使用缓存和静态变量.

每秒40,000条消息是可行的,但是当您向混合添加IO时,即使在具有大量内存的超高速硬件上也可能无法预测.尝试尽可能多地进行带外处理.如果失败,请查看是否可以运行多个线程(在多核或多进程机器上),并在需要时查看群集中的多个服务器.

编辑:

在这样的场景中,我无法强调负载测试的好处.制作一个简单的原型并加载测试.优化原型直到获得理想的结果.然后根据原型构建最终解决方案.在测试所需的性能级别之前,您正在猜测解决方案.

转载注明原文:.net – 能够每秒处理40,000条消息的系统的模式和技术 - 代码日志