我一直在体验真实生产环境中消息传递系统的优点和缺点,我必须承认,每次任何其他形式的消息传递队列时,组织良好的表或表模式都会跳动,因为:
您对每种方法有何看法?
在我的项目中,我从客户端收到一个事务,然后处理它并通过WCF将状态返回给客户端.如您所知,我必须以某种方式保存事务以进行恢复和持久性.
我正在考虑将MSMQ用于此目的.当事务开始时,我将它"保存"在MSMQ上(出于性能原因,数据库保存将在批处理中发生).
MSMQ对此有利吗?你知道创建持久性的更好方法吗?什么是"备份"交易并保持高性能的最佳方式?
我不确定如何最好地描述这个或最好的标题,所以请耐心等待!
我正在使用MSMQ排队大量命令,这些命令将触发对各种网站和API的HTTP请求.为了避免锤击这些服务(并保持在某些预定义的请求限制内),我需要确保只有在从最后一个请求开始经过最小时间后才能执行命中同一域的任务.
以前我使用数据库对任务进行排队,因此可以执行查询来实现这一目标,但我们使用任务数量快速超过了该解决方案(表上的死锁方式太多).
有没有人对我们采取什么方法有任何建议?我已经考虑过将项目从队列中删除,直到找到一个可以执行的项目 - 但是我意识到没有什么可以阻止队列上的排序,这意味着我们可以在相同的域中取出数千个,然后再找到一个域.
谢谢!