0

我目前正在开发一个定期轮询的网络服务。它不存储其状态,每次查询时都会实例化。本质上,它检索其他外部实体(例如数据库)的状态并将其返回给请求者。

最近,存储状态的需求出现在

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

我想出了以下想法: 替代文字

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

编辑:感谢迄今为止的回复。为这个问题的模糊性道歉:只是试图找出在不同服务之间共享数据的最佳方式是什么,并且不确定具体细节(即需要什么)。我正在开发的平台是 .NET 框架,这两个服务都只是作为 Windows 服务托管的 WCF 服务。

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

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

4

4 回答 4

1

如果您需要收集和聚合数据,您可能需要考虑在两层之间使用数据库。还是我误解了什么?

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

于 2009-10-28T02:35:18.767 回答
0

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

于 2009-10-28T02:33:22.750 回答
0

你可以用一些数据库表示来替换你的静态共享数据,在数据库和 web 服务之间有一个缓存层(如 memcached),这样大多数时候数据可以很快从缓存中获得,但可以从数据库中检索如所须。

于 2009-10-28T02:35:53.487 回答
0

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

如果您开始处理数以万计的小文件,您的目录可能会难以导航并且文件查找速度会变慢。我通常为每个目录拍摄大约 1000 - 10000 个文件,并编写一个可以根据文件名模式生成文件路径的例程。保持子目录的数量均匀很重要,一些文件系统对父目录中的子目录数量有限制。

于 2009-10-29T06:56:47.127 回答