无扩展的.Net - 高可用性
问题描述:
我们使用无扩展触发在特定的时间特定的动作。无扩展的.Net - 高可用性
例如:一个特定的用户操作后两分钟做一些事情。
语法:
var observable = Observable.Timer(new TimeSpan(0, 0, someTime)).Take(1);
var subscribe = observable.Subscribe(i =>
{
DoSomething();
}
});
但现在如果IIS /服务器重新启动,这触发丢失。由于我们有多个承载代码的App Server进行高可用性部署,因此这需要保持持久性。
帮助我们用一种方法来解决这个问题。
答
但是现在如果IIS /服务器重新启动,此触发器将丢失。这 需要被保留的,因为我们有与托管代码 多个应用服务器的高可用性部署。
可能无扩展是不是这里的答案。
好像你应该使用消息队列或服务总线。
检查这些技术,如果你想挖掘更多关于这种方法:
此外,看一看MassTransit,可以使用上述一些通讯技术服务总线。
你试过了什么? – Asti
我们想过使用Quartz.Net集群作为替代方案,但这意味着要更改现有的代码。 –
程序状态的持久性过于复杂,难以概括。你所有的回调都不捕获? – Asti