我的Java服务器有一个通用操作,可以在内部提供多种功能。
在服务器调用期间执行一个或多个函数取决于调用哪个客户端以及客户端传递的参数。
服务器根据客户端参数在内部执行功能编排(通常参数是客户类型,国家/地区,产品类型等)
作为服务器的一部分,我们现在设置了if / else块来确定这一点,但是这需要对代码进行更改和释放。
我打算改变它并使用非常轻量级的规则引擎,我可以通过规则传递一组参数和编排功能(或从那里敲出)。
最重要的要求是,可以动态配置此规则引擎(通过某些UI),而无需释放任何代码(如缓存中存储的规则)。
此外,我的服务器每天需要10万个请求,并且在响应方面必须超快,我无法承受每个HIT上的数据库命中或重型规则引擎。
我的想法之一是引入特征矩阵(使用一些数据结构)并将其发布到缓存,每个服务器HIT将首先检查此矩阵并确定需要为此请求做什么,我可以更改特征矩阵配置通过一些UI和新配置将发布到缓存ASAP,下一个服务器请求将使用新配置。
有关实施的任何想法或建议吗?