【问题标题】:Running Spring Clound Config and Eureka on same server在同一台服务器上运行 Spring Cloud Config 和 Eureka
【发布时间】:2016-01-29 16:55:33
【问题描述】:

我们正在尝试为我们的应用程序创建一个仪表板作为单点入口/配置。为此,我们将构建 UI 并希望在同一实例上运行 Spring Cloud ConfigEureka。我们有什么理由不应该这样做吗?如果没有,有可能吗?

【问题讨论】:

  • 好吧,我会反过来问。你为什么要这样做?克服同源政策?在这种情况下,我会构建一个“前端”启动应用程序,为 UI 和代理 Eureka 和 Config 服务器提供服务。
  • 这个想法是/曾经是创建一个带有一些ui(管理)功能的spring boot应用程序,并且还集成了配置和eureka服务。这将简化我们的部署过程,因为我们正在考虑部署到AWS Elastic Beanstalk,我们可以在其中部署一个 jar。您提出的建议将迫使我们将所有内容包装在 docker 映像中。我并不是说这是一个坏主意,但我们将为这项服务制定一个单独的部署程序
  • 为什么你认为你不能把这个包装成罐子?
  • 我想我需要 3 个单独的 spring “启动”应用程序。也许你可以分享一下如何将这 3 个应用程序包装在一个 jar 中,然后以 java -jar .... 的“正常”方式开始
  • 我确实理解你的想法,但这在某种程度上也与微服务的想法相矛盾。顺便说一句:如果你只有一个罐子,为什么还要 Euraka?

标签: spring spring-boot spring-cloud


【解决方案1】:

@mvlupan,没有什么能阻止你一起使用。这就是我们创建@EnableEurekaServer@EnableConfigServer 的原因之一。

pom.xmlsn-p.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
</dependencies>

Application.javasn-p

@EnableEurekaServer
@EnableConfigServer
@SpringBootApplication
public class DemoconfigandeurekaserverApplication { /*...*/}

application.propertiessn-p(所以 eureka 和配置服务器不会冲突)。

spring.cloud.config.server.prefix=/config

【讨论】:

  • 感谢您的回答。现在我想知道这是否有意义..因为配置服务用于提供跨环境的配置(dev/prod/etc)..并且 Eureka 似乎与某个环境相关联,它连接不同的服务。 Eureka 是否具有此功能(使用多个环境)?有意义吗?
  • @mvlupan 那么你最终使用了什么?
【解决方案2】:

为了生产环境中的高可用性,应该至少有 2 个实例在不同的服务器上运行。

ConfigServer 和 EurekaServer 都应该有 2 个实例。

我个人更喜欢看到 ConfigServer 和 EurekaServer 像@spencergibb 所展示的那样作为一个进程运行。

先运行有配置优先或发现优先的方法。

附: 我希望您的 Dashboard 应用程序将与 ConfigServer/EurekaServer 分开, 因此其自身的问题不会影响业务关键部分。

【讨论】:

    猜你喜欢
    • 2018-04-29
    • 2015-04-11
    • 2013-06-20
    • 2018-12-04
    • 2010-09-11
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多