我们如何在两种不同的服务之间共享数据

时间:2009-10-28 02:30:24

标签: sharing

我目前正在处理定期轮询的网络服务。它不存储其状态,并在每次查询时进行实例化。本质上,它检索其他外部实体的状态,例如数据库并将其交还给请求者。

最近,需要存储状态,因为

  • 需要不断收集特定来源的数据并存储重要/相关的位
  • 需要在一段时间内收集特定数据源的聚合

我提出了以下想法: alt text

我主要担心的是我使用静态类(本质上是全局的)来在两个服务之间共享数据。有更好的方法吗?

编辑:感谢您到目前为止的回复。为这个问题的联系道歉:只是想弄清楚什么是在不同服务之间共享数据的最佳方式,并且不确定具体情况(即需要什么)。我正在开发的平台是.NET框架,这两种服务都是托管为Windows服务的WCF服务。

数据库路由听起来像最传统的方式 - 但是我现在不愿意走这条路(主要是为了部署/设置问题;除了简单地安装之外,还引入了创建新表等的需要)软件)此时传输相对少量的数据。这当然可能会在将来发生变化,并且可能会在此时采用数据库路径。

除了添加数据库持久层之外还有其他方法吗?

4 个答案:

答案 0 :(得分:1)

如果您需要收集和汇总数据,您可能需要考虑在两个层之间使用数据库。或者我误解了什么?

您应该考虑使用更多要求来增强您的问题:几乎所有选项都在这里打开。

答案 1 :(得分:0)

当然 - 数据绑定怎么样?我在这里没有太多的信息 - 关于你的平台,但是大多数足够先进的系统都以某种形式提供它。

答案 2 :(得分:0)

您可以用一些数据库表示替换静态共享数据,在数据库和Web服务之间使用缓存层(如memcached),这样大多数时候数据可以从缓存中快速获得,但是可以检索根据需要从数据库中获取。

答案 3 :(得分:0)

我很欣赏您希望保持架构简单。根据您必须查找的项目的大小和永久性,您可能只考虑利用文件系统或消息队列。听起来你想要一个文件系统,因为这听起来对你的设计影响最小。

如果您开始处理成千上万的小文件,那么您的目录可能难以导航并且很难进行文件查找。我通常会为每个目录拍摄大约1000 - 10000个文件,并根据文件名模式调制一个可以生成文件路径的例程。保持子目录的数量很重要,某些文件系统在父目录中有limit on the number of subdirectories

相关问题