【问题标题】:Which is the best way to deploy drools along with microservices using spring boot?使用 Spring Boot 部署drools 和微服务的最佳方法是什么?
【发布时间】:2022-09-28 01:53:29
【问题描述】:

我有基于使用drools的基于spring boot的微服务应用程序,我很困惑是否应该在同一个应用程序中维护drool以便可以克服性能开销,或者它应该部署在不同的容器中,所以我们可以调用那个特定的容器或用于验证规则的服务。哪个是有效的方法?

使用drools spring boot依赖还是直接使用drools而不与spring boot集成会更有效吗?

  • 它是否“应该”在同一个应用程序中是一个设计决定——或者如果你想将它映射到一个离题的原因,它是“基于意见的”。那是您需要根据您的要求进行评估并做出自己的架构决策的东西。
  • 就 Spring-Boot 而言,您能澄清一下您指的是哪个 Spring Boot 依赖项吗?我只是在谷歌上搜索了“drools spring boot”,并没有发现任何依赖项……只是一堆过时的博客文章,最好忽略它们。

标签: java spring spring-boot microservices drools


【解决方案1】:

正如罗迪所说,这确实是一种设计选择。没有真正的正确或错误的方法。

对于它的价值,您可以考虑一些元素。与运行运行时引擎的专用(附加)mircoservice 相比,将 drools 运行时引擎集成到微服务中可能会带来一些好处。为此目的拥有一个单独的服务会引入对另一个可能离线的服务的依赖关系。您需要在“呼叫”服务中处理这些情况以采取相应的行动,这可能会使事情变得有点复杂。

此外,您需要实现调用运行时引擎的 API 以“执行”您的业务规则所需的一切。当运行时引擎是微服务的一部分时,它可以简化事情,因为您不需要调用外部 API,而是可以直接将运行时引擎用作微服务代码中的库。这也可能会加快速度,因为您没有外部 API 调用的相应网络开销。

只有特定业务规则集所需的知识才与微服务集成,而不是所有可能的可想象规则,这一事实也可能是选择嵌入式方法的一个论据。它可以提供不同(知识)领域的更清晰的隔离。

【讨论】:

    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 2011-05-19
    • 2018-09-28
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多