我们如何在单个服务器中部署多个 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 服务器