我需要以可靠/事务的方式为外部系统排队事件和任务。使用 MSMQ 或 ActiveMQ 之类的东西看起来很诱人,但事务部分变得复杂(MSDTC 等)。
我们可以使用数据库(SQL Server 2005+、Oracle 9+)并实现更轻松的事务支持,但排队部分变得更丑陋。
这两条路线似乎都不是那么好,并且充满了令人讨厌的陷阱和极端情况。
有人可以在这件事上提供一些实用的指导吗?
想一想:E/C/A 或者一个定时任务引擎,每隔一段时间就会唤醒,看看此时是否有定时任务需要运行(即 next-run-date 已经过了,但是 expire-date 还没到到达)。