春季启动:我应该如何部署微服务

时间:2020-09-07 14:15:51

标签: spring-boot docker nginx microservices infrastructure

因此,首先,我构建了一个简单的整体应用程序,并使用docker和nginx对其进行部署(仅适用于反向代理)。目前,我已经计划将每个服务分开,因为某些服务需要大量时间和IO来完成其工作。我对此进行了研究,我知道一些我将需要的组件,例如Spring Cloud Eureka,服务发现等。我有点困惑,因为如果我添加这些组件,我只使用docker和Nginx,是否仍然需要在顶部使用Nginx它?能给我一个我应该了解或应用于我的项目的结构示例吗?

1 个答案:

答案 0 :(得分:1)

在重构的第一个迭代中,无需服务发现即可完成

  • 为每个微服务创建一个SpringBoot应用程序
  • 服务之间可以直接通信(不需要Nginx),也无需服务发现,这意味着您可以硬编码(或存储在属性文件中)端点的URL
  • 在为最终用户(即Web应用程序)提供服务的应用程序/服务之前部署NGINX

一旦您验证了新架构(在微服务之间划分职责),就可以引入服务发现(Eureka),以便不再对端点进行硬编码。

Nginx非常轻便,因此如果您愿意,它也可以用于处理内部流量,但是此时您的体系结构应该开始考虑流量和组件数量,以决定哪种方法更好。