【问题标题】:Spring boot or Vertx or any other framework for reactive micro-service developmentSpring boot 或 Vertx 或任何其他用于反应式微服务开发的框架
【发布时间】:2020-01-15 08:04:47
【问题描述】:

我想将我的单体应用程序转换为微服务,因为它的大小更大,并且所有模块都紧密耦合在同一个中。我浏览了许多文档,但仍然无法弄清楚我应该使用哪个框架。

我的用例:-

  • 我正在开发的微服务将捆绑在一个容器中,并且
    将部署在客户的系统上,所以 Jar 的大小为 第一个约束。

  • 我希望所有这些都通过单个通道进行通信,如果通道 下来,否则应该优雅地处理。

  • 我有几个用例,请求会花时间 大约需要 15 到 20 分钟。

这是我关于框架基准测试的一些发现

【问题讨论】:

  • 其中只有 Vert.x 是唯一支持微服务的工具包。如果您的服务既需要相互通信又需要扩展,我看不到 Vert.x 的任何真正高级替代品

标签: spring-boot microservices vert.x reactive light-4j


【解决方案1】:

设计微服务架构的方法有很多种,唯一的限制是要有两个或多个相互通信的独立应用程序。 考虑到这一点,您可能需要考虑更多关于工件大小的问题。

  • 整个系统必须具有高可用性、弹性和可扩展性?也许最好的选择是基于消息通信的反应式架构,例如 lagom

  • 如果您对服务之间的 rest/synchronouns 通信感到满意,您可以使用 spring boot 应用程序通过 http 调用进行通信,可能使用一些断路器库之王。

  • 如果您想要更轻量级的工件并更快地运行 micronauts 是一个不错的选择。

还有许多其他框架可以帮助您开发架构,但最重要的是发现应用程序的真正需求,以便在其中做出更好的选择。

【讨论】:

    【解决方案2】:

    这两种技术都很好。您可以选择 Spring Cloud,也可以使用 vert.x。 Spring Boot 还支持响应式编程。 您可以根据需要拥有基于 servlet 的微服务和基于 netty 的微服务。

    我有一个集成vertx和spring boot的例子

    https://github.com/armdev/reactive-web

    但我的建议是从 Spring boot/cloud 开始。不要从一开始就变得复杂!从 Spring cloud 和 docker/compose 开始。

    【讨论】:

      【解决方案3】:

      对于有兴趣的人,我们刚刚测试了spring boot和vert.x集成的性能,结果可以在

      https://github.com/networknt/microservices-framework-benchmark/issues/73

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 2020-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-23
        • 2016-03-27
        相关资源
        最近更新 更多