我对SOA中的服务状态(应该是无状态的)有疑问:
我有一个服务,在客户请求后生成结果。此结果非常大,因此客户端延迟加载它以提供快速可视化。 结果数据必须缓存到某个地方才能用于延迟加载过程。
那么,这个结果是否可以被视为延迟加载支持服务的“状态”?
如果SOA服务必须是无状态的,我应该使用哪种SOA模式来实现这种情况?
非常感谢!
答案 0 :(得分:0)
假设场景包含一个从数据库读取数据并允许用户通过这些数据导航(前进和后退)的过程,解决方案是在持久层中实现分页查询机制。
分页查询可以用不同的方式实现,最可扩展的是可重复的查询数据库,因为用户页面通过结果。
此解决方案的一个缺点是,由于数据库可以在查询执行之间进行更改,因此用户可以看到数据的不一致视图。
您可以直接使用JDBC实现(如果您使用的是Java),但是Hibernate等几个ORM框架可以帮助实现这种机制。