c# – 是否有快速,可扩展的解决方案来保存数据?
我正在开发一种需要在
Windows平台上扩展的服务.
最初它将每秒接收大约50个连接(每个连接将发送大约5kb数据),但它需要可扩展以接收超过500个未来. 将接收的数据保存到像Microsoft SQL Server这样的公共数据库是不切实际的(我猜). 还有其他解决方案来保存数据吗?考虑到它每天将收到超过600万条“记录”. 有5个步骤: >通过http处理程序(c#)接收数据; >通过http处理程序(c#)接收数据; 解决方法
每天600万条记录听起来不是特别大.特别是,每天24小时不是每秒500 – 你认为交通是“突发性的”吗?
我不会亲自使用消息队列 – 我之前被不稳定和一般困难所困扰.我可能只是直接写入磁盘.在内存中,使用生成器/使用者队列,并将单个线程写入磁盘.生产者只会转储要写入队列的记录. 有一个单独的批处理任务,一次将一堆记录插入数据库. 一次对最佳(或至少“好”数量的记录进行批量上传)进行基准测试.您可能希望从磁盘读取一个线程,另一个写入数据库(如果数据库线程有大量积压,则文件线程阻塞),这样您就不会等待文件访问和数据库同时. 我建议您尽早做一些测试,看看数据库可以处理什么(并让您测试各种不同的配置).弄清楚瓶颈在哪里,以及它们会伤害你多少. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |