我们有一个基于SOA的平台,它包含许多服务和利用这些服务的应用程序集。每个服务都通过客户端公开其功能,该客户端成为主机应用程序的一部分并调用服务。
为减少网络调用次数,我创建了一个客户端缓存框架,其中对象缓存在客户端层中。客户端定期轮询服务以检查哪些对象已更改并相应地使缓存无效。因此,在大多数情况下,传入请求是从客户端缓存提供的,只有在客户端缓存不包含请求项时才会进行服务调用。
我的问题是,如果我有10个不同的应用程序依赖于特定的服务/客户端,相同的缓存将在所有应用程序中复制,这似乎太多冗余,每个应用程序将有更大的内存占用。 / p>
我有什么选择?
答案 0 :(得分:0)
您可以为将与应用程序驻留在同一台计算机上的服务设置“前端”或代理。它可以公开远程服务的相同API并利用其中的缓存。如果您使用类似OSGI的东西,您仍然可以将其部署为独立组件