Web services SOA平台中服务的客户端缓存

Web services SOA平台中服务的客户端缓存,web-services,caching,client,soa,Web Services,Caching,Client,Soa,我们有一个基于SOA的平台,它由许多服务和一组利用这些服务的应用程序组成。每个服务都通过成为主机应用程序一部分并调用服务的客户端公开其功能 为了减少网络调用的数量,我创建了一个客户端缓存框架,其中对象缓存在客户端层。客户端定期轮询服务以检查哪些对象已更改,并相应地使缓存无效。因此,在大多数情况下,传入的请求都是从客户机缓存服务的,只有当客户机缓存不包含请求项时,才会发出服务调用 我的问题是,如果我有10个不同的应用程序依赖于特定的服务/客户端,那么所有应用程序中都会复制相同的缓存,这似乎冗余太多

我们有一个基于SOA的平台,它由许多服务和一组利用这些服务的应用程序组成。每个服务都通过成为主机应用程序一部分并调用服务的客户端公开其功能

为了减少网络调用的数量,我创建了一个客户端缓存框架,其中对象缓存在客户端层。客户端定期轮询服务以检查哪些对象已更改,并相应地使缓存无效。因此,在大多数情况下,传入的请求都是从客户机缓存服务的,只有当客户机缓存不包含请求项时,才会发出服务调用

我的问题是,如果我有10个不同的应用程序依赖于特定的服务/客户端,那么所有应用程序中都会复制相同的缓存,这似乎冗余太多,每个应用程序都会占用更大的内存


这里有哪些选项?

您可以为将与应用程序驻留在同一台机器上的服务设置“前端”或代理。它可以公开远程服务的相同API,并利用其中的缓存。如果您使用类似OSGI的东西,您仍然可以根据您的业务环境将其作为独立组件部署

,有许多选项可用。你的技术堆栈是什么?在JEE环境中,单例SLSB将工作etc@kolossus.. 我们的技术栈主要由J2SE和Spring框架以及ehcache组成。