我们如何在单个服务器中部署多个 mico 服务

Posted

技术标签:

【中文标题】我们如何在单个服务器中部署多个 mico 服务【英文标题】:How can we deploy multiple mico service in a single server 【发布时间】:2019-12-06 18:49:56 【问题描述】:

我有以下微服务

    注册服务器 zuul 服务器 配置服务器 员工服务 部门服务

它们位于不同的端口,我们如何将它们部署在服务器中?

【问题讨论】:

也许能详细说明您在哪里被阻止。一般来说,可以在一个服务器上部署多个服务,但是有很多方法可以做到这一点。 【参考方案1】:

嗯,这个问题没有简单的答案。我猜你正在尝试学习微服务,你的服务在本地机器上运行良好,现在想知道你应该如何将它部署在一些独立的服务器上。您的部署策略取决于变量因素。当您说“将它们部署在服务器中”时,我假设您想将它们部署在远程 linux 服务器上。

对于初学者,您可以创建应用程序的 jar,将 jar 移动到远程计算机并运行它们(阅读 java -jar 命令)。或者,您可以容器化。您已经在使用 Spring Cloud,您可能希望使用 docker 将您的应用程序容器化,然后将其部署到服务器上,基本步骤如下:

    在您的应用程序中创建 DockerFile(搜索,Spring boot 用于示例的 Docker 文件,您也可以查看此hello world project)。这是您提到有关您的 jar 的详细信息的文件,您希望它在其上公开/内部-外部映射的端口等。

    从您的应用程序创建 Docker 映像 (阅读 docker build 命令)

    将 Docker 映像推送到某个远程映像存储库(您可以使用 Dockerhub) 将该映像拉取并运行到您的远程服务器中(阅读有关 docker 拉,码头运行命令)

同样,对此没有直接的答案。您需要阅读有关容器化、各种容器编排平台等的更多信息。我建议您从学习微服务的基础知识以及我们为什么需要它们开始,然后再进行代码和部署

PS:查看您当前的服务集,我认为您还需要像 eureka 这样的服务注册中心

【讨论】:

我正在使用 JBoss 服务器来部署这些服务。 请问是什么因素导致了JBoss?考虑到您为每个 MS 运行单个 JBoss,它只会为微服务创建一个复杂的基础架构。如果您将所有内容部署在一台 JBoss 服务器中,那么我看不出任何意义。是的,可行,但重点是什么!

以上是关于我们如何在单个服务器中部署多个 mico 服务的主要内容,如果未能解决你的问题,请参考以下文章

在单个 Tomcat 服务器中部署多个 Spring Boot 应用程序意味着显示异常。如何解决这个问题?

具有 corbaloc 访问权限的 MICO CORBA 服务器

MICO Corba 的直接替代品?

如何使用 Nginx 和 GUnicorn 在单个服务器上部署多个 Django 应用程序?

为每个 IIS 应用程序部署单个或多个 WCF 服务?

具有多个部署的单个 Jenkins 作业