【发布时间】:2018-02-12 12:11:46
【问题描述】:
有很多教程和文章(包括官网)都在宣传 Spring Boot 作为构建微服务的好工具。
假设我们有一些 rest api 端点(用户配置文件),它聚合来自多个服务(用户服务、统计服务、朋友服务)的数据。
为了实现这一点,用户配置文件端点对这些服务进行了 3 次 http 调用。
但是在 Spring 中,请求是阻塞的,正如我所见,服务器将很快耗尽可用资源(线程)来在此类系统中为请求提供服务。
所以对我来说,构建这样的系统是一种非常低效的方式(与非阻塞框架相比,比如 play!framework 或 node.js)
我错过了什么吗?
P.S.:我不是指 Spring 5 及其新的 webflux 框架。
【问题讨论】:
-
微服务不是构建非阻塞系统或服务。它是关于构建小型、独立的服务,这些服务可以扩展,并且可以单独部署。解决阻塞 IO 问题超出了微服务架构的范围。
-
是的,但是微服务之间经常通过http进行通信(至少我看到很多教程,包括spring boot教程)。
标签: spring-boot microservices blocking