如何在应用程序(控制台或服务)和web服务之间共享数据
本文关键字:服务 web 之间 数据 共享 应用程序 控制台 | 更新日期: 2023-09-27 18:05:23
我有以下情况:
-
处理数据并维护表示统计数据的数据结构的windows服务
-
简单的REST web服务(asp.net webapi)
我希望给定一个由mvc.net webapi控制器处理的web请求,返回的数据由windows服务提供。
简单地说,我想避免使用数据库只是为了将数据从windows服务传递到web应用程序控制器。
原因是性能,因为它是实时数据和相当大的数量,所以我想避免实时数据库读写的瓶颈…
这可能吗?
Redis是唯一的选择吗?
我当然很感激。. NET在应用程序之间缓存数据的方式,而不必通过带有Vagrant设置的VirtualBox运行Ubuntu机器…
谢谢!
这几乎是MSMQ设计的理想状态。
多亏了Mati Cicero,我终于走了Redis的路,它看起来非常适合实时需求。
我必须使用ServiceStack,因为我在c#中,我唯一的失望是设置本可以更简单(Ubuntu服务器Redis,在VirtualBox中运行)。
我希望这个设置可以在生产环境中保持(c#部分的Win Server + Redis的Linux Server)…
由于数据是可恢复的,您可以尝试快速非持久NoSQL存储。
如果没有共享数据就更好了。将web服务调用到Windows Server以请求当前所需的数据。维护共享状态(例如在数据库中)是繁重的。如果可能的话,我会完全避免。
一个非常快速的IPC机制是WCF在命名管道上。