【问题标题】:SOA service statesSOA 服务状态
【发布时间】:2013-06-12 21:51:50
【问题描述】:

我对 SOA 中的服务状态(应该是无状态的)有疑问:

我有一项服务可以在客户请求后生成结果。这个结果非常大,所以客户端延迟加载它以提供快速的可视化。 生成的数据必须缓存在某个地方以供延迟加载过程使用。

那么,这个结果是否可以被视为延迟加载支持服务的“状态”?

如果 SOA 服务必须是无状态的,我应该使用哪种 SOA 模式来实现这个场景?

非常感谢!

【问题讨论】:

  • 是你指的,像网站一样的无状态是无状态的吗?该网站肯定有状态,否则它几乎没有任何功能。但是,一旦您的问题得到处理并返回 HTML,您就会失去状态,并且正在处理下一个请求,就好像这是您的第一次。就我而言,由于网站由状态组成,所以您的 SOA 服务也有状态。

标签: service soa stateless


【解决方案1】:

假设场景包含从数据库读取数据并允许用户在这些数据中导航(向前和向后)的过程,解决方案是在持久层中实现分页查询机制。

分页查询可以用不同的方式实现,最具可扩展性的是在用户翻阅结果时重复查询数据库。

此解决方案的一个缺点是用户可以看到不一致的数据视图,因为数据库可以在查询执行之间更改。

您可以直接使用 JDBC 来实现这一点(如果您使用的是 Java),但是 Hibernate 等几个 ORM 框架对实现这种机制有很大帮助。

【讨论】:

  • 感谢您的回答。数据不是来自查询,而是批量数据处理的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-16
  • 2011-06-15
相关资源
最近更新 更多