REST服务组合VS分布在内存缓存中

时间:2018-07-25 08:12:55

标签: java rest weblogic second-level-cache

我负责Java分布式多模块项目的后端部分的开发和维护。

该系统由几个EAR和WAR模块组成,这些模块将REST服务公开给前端GUI。它们被部署在Weblogic上的Application Servers群集中。

我目前正在设计一种全新的授权引擎,该引擎应在每个模块之间共享,并应授权用户执行的每个操作。系统中大约有100个并发用户每分钟进行20/30次调用。

我与客户决定授权策略将驻留在XML文件中。该文件很少更改。然后,将有一个评估引擎,它将“决定”是否允许用户执行某项操作。

我的疑问是:如何让其他模块进入此评估引擎?

  1. 我应该将其包装在公开的授权REST服务(如/ getAuthorisation / user / resource / action / attributes之类)的专用WAR后面吗?

  2. 我应该使用分布式内存缓存(使用诸如Coherence,Hazelcast,Redis等之类的东西)来托管代表策略的Java对象吗?

在第一种情况下,我将需要一些东西来同步部署在App Server上的所有webapp(再次是分布式缓存?)。

在第二种情况下,所有EAR和WAR都需要在其中包含评估器的专用库。

您有什么建议?您还有其他选择吗? 我希望我的解释已经足够清楚了。

谢谢!

弗朗切斯科

0 个答案:

没有答案