我们正在构建一个 Jboss BRMS 应用程序,在 spring-boot 中有两个微服务,一个用于规则生成(SRV1),一个用于规则执行(SRV2)。这个想法是使用生成微服务 (SRV1)生成规则,并使用版本控制将它们保存在数据库中。该过程的下一部分是让执行微服务通过查询共享数据库中的信息将这些持久化规则加载到每个 pod 内存中。
发生这种情况时有以下两种情况:
当规则执行服务 pod/pods启动时,它会在数据库中查询最新版本,并且每个运行执行应用程序的 pod 从共享数据库中加载这些规则。
第二个场景是我们想要手动触发在每个运行执行应用程序的 pod 上加载特定版本的规则,最好是通过一个 rest 调用。
这就是问题所在!
每当我们尝试向 api 发出 rest 请求时,由于它是在 kubernetes 服务下进行负载平衡的,因此该请求仅命中其中一个 pod,其余的不加载特定规则。
是否有程序或设计更改可以帮助我们实现这一目标,或者是否有任何其他方式构建我们的应用程序以实现在所有为执行微服务提供服务的 Pod 上加载特定版本规则的能力。