2

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

我的用例:-

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

  • 我希望所有这些都通过单个通道进行通信,并且如果通道出现故障或者应该优雅地处理它。

  • 我有几个用例,请求将花费大约 15 到 20 分钟的时间来完成。

这里有一些关于框架基准测试的发现

4

3 回答 3

0

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

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

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

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

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

于 2019-09-17T09:55:09.053 回答
0

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

我有示例将 vertx 和 spring boot 集成在一起

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

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

于 2019-09-18T20:34:24.240 回答
0

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

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

于 2020-08-21T14:11:18.403 回答