我正在Northwest US为一系列回收中心开发客户帐户系统。我们的主要功能之一是,我们的客户可以设置与bottle deposit refunds相同的帐户,而不是始终支付现金。客户还可以放下现场处理并记入贷款的可回收物品袋。每个中心都接近容量,可以在离线时对罐头和瓶子进行物理处理,因此我们没有太多的余地让IT基础设施在互联网熄灭时关闭所有东西。
基本上,我被要求开发一个客户帐户系统,允许零售中心的信用额度过帐到帐户,即使我们的中央服务器的电信中断了几个小时。这将允许中心在管道堵塞时继续处理和贷记客户。某些交易(如提款)不需要在这种情况下发生,因为我们无法准确地获得客户的当前余额。
我们是一家百分之百的Windows商店,IT经理和网络管理员不希望接近任何东西* nix。每个零售中心都有一个内部专用的Windows Server,因此这似乎是一个合乎逻辑的起点。
我是ServiceStack的忠实粉丝,基于REST-ful消息的范例似乎可行。我将创建一个“Credit”消息并将其发送到本地服务器。消息代理将记录请求并尝试将该消息转发到处理它的中央服务器。如果中央服务器出现故障,我会依靠MQ的可靠消息传递协议来保持它,直到电信恢复。每个中心的总体预期音量为100秒到1000小时,而现代计算术语则很低。
ServiceStack的Redis MQ Client / Server看起来很有趣,但由于Windows Redis服务器明确标记为“原型”和“非生产质量”,因此有0%的机会能够利用它。
所以,最终的问题是:
答案 0 :(得分:2)
在Windows上运行Redis的生产解决方案是run redis-server inside a Linux VM on windows with Vagrant。
ServiceStack目前有一个feature request to add more MQ Options。 Rabbit MQ有望成为未来支持的下一个MQ适配器。
答案 1 :(得分:0)
作为后续行动,MS Open Tech发布了Redis 2.8.9的“生产就绪”本机实现。 GitHub link