【发布时间】:2015-09-29 15:15:13
【问题描述】:
我正在使用 ASP.Net Web API 开发一个项目,该项目将接收大量 POST 操作,我需要将许多连续/同时的记录写入数据库。我没有每秒的确切数字,所以这更像是一个概念设计问题。
我正在考虑使用标准消息队列(RabbitMQ 等)或内存数据存储(例如 Redis)来处理数据的初始摄入,然后通过另一个进程(甚至一种内置的队列机制之一)。
我知道我也可以使用线程来提高 API 的性能。
对于要查看哪些消息队列或内存存储,甚至只是架构建议,是否有人有任何建议?
感谢大家的帮助。
-c
【问题讨论】:
-
你的数据库能处理所有的写入吗?因为使用所有这些中间件将使您的 Web 应用程序扩展,但它仍然意味着您的数据库上的负载相同。我们在说什么数据库?只需使用 async/await,您的 asp.net web api 就可以非常快。
-
感谢您的回复。数据库现在将是 ms sql。幸运的是,发布的数据量相对较小。我将从 async / await 路线开始。我一直在阅读有关单独可以提供的性能改进的信息。你能想到走那条路要注意什么吗?
标签: asp.net-web-api redis rabbitmq message-queue scalability