2009-10-28 92 views
0

我目前正在定期轮询一项Web服务。它不存储它的状态,每次查询时都会被实例化。本质上,它检索其他外部实体的状态,例如数据库并将其传送回请求者。我们如何在两种不同的服务之间共享数据

最近,作为出现在

  • 储存状态,需要有需要从特定源汽车无收集数据和存储的一些重要比特/相关
  • 有需要收集特定数据源的总量在一段时间

我想出了以下的想法: alt text

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

编辑:感谢迄今的回应。对于这个问题的同类问题抱歉:试图找出跨不同服务共享数据的最佳方式,并且不确定具体细节(即需要什么)。我正在开发的平台是.NET框架,两种服务都只是作为Windows服务托管的WCF服务。数据库路由听起来像是最传统的方式 - 但是现在我不愿意沿着这条路走下去(主要是为了部署/设置问题;它引入了除了简单安装之外还需要创建新表等)该软件)在此处传输相对少量的数据。这当然可能会在将来发生变化,并且数据库路线可能会成为当时的方向。

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

+0

你使用任何特定的语言或框架? – 2009-10-28 02:36:48

回答

0

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

1

如果您需要收集和汇总数据,您可能需要考虑在两个图层之间使用数据库。还是我误解了一些东西?

你应该考虑以更多的要求来提高你的问题:几乎所有的选项都在这里打开。

0

您可以用数据库表示和数据库与webservice之间的缓存层(如memcached)替换静态共享数据,这样大部分时间数据都可以从缓存中快速获得,但可以根据需要从数据库中检索。

0

我明白你想保持架构简单。根据您必须查看的项目数量和永久性,您可能会考虑利用您的文件系统或消息队列。这听起来像你想要一个文件系统,因为这对你的设计来说影响最小。

如果您开始处理数以万计的小文件,您的目录可能会很难导航,并且速度很慢,无法进行文件查找。我通常为每个目录拍摄约1000-10000个文件,并根据文件名称模式调整可生成文件路径的例程。保持子目录数甚至是很重要的,有些文件系统在父目录中有一个limit on the number of subdirectories

相关问题