如何使用Spring Cloud和Netflix的Eureka

时间:2015-10-08 06:11:56

标签: node.js spring-cloud netflix-eureka aws-api-gateway

我正在努力注册我的节点应用程序,使用Netflix的Eureka,经过Google搜索后,我仍在寻找解决方案。我能解决的最大问题是我们有Prana但我遇到的问题仍然在issue list of Prana(我想这意味着我的REST模板无法发现这个应用程序)。

Sidecar,是另一个建议的解决方案,我没有得到任何回应。除了这两个,我找到了一个节点模块Eureka-Node-client,但它们都没有达到我的目的。

3 个答案:

答案 0 :(得分:9)

您可以创建一个Sidecar应用程序,就像创建任何spring-boot应用程序一样:

@EnableSidecar
@SpringBootApplication
public class SideCarApplication {

    public static void main(final String[] args) {
        SpringApplication.run(SideCarApplication.class, args);
    }

}

重要的是你必须配置它才能正确注册你的实际服务。您的application.yml应如下所示:

server:
  port: 9999 -- the port your spring-boot sidecar is running
spring:
  application:
    name: nodeapplication -- the name will be your id in eureka

sidecar:
  port: 8000 -- the node applications port
  health-uri: http://localhost:8000/health.json -- the exposed health eindpoint of your node application

请务必注意,healthpoint应返回UP,以便您的服务状态在eureka中正确无误。返回的json用于健康的服务:

{
  "status":"UP"
}

如果您在设置spring-boot应用时遇到问题,请使用https://start.spring.io/配置项目。可悲的是,没有一个边车选项可以打勾,但你会得到这个想法。您可以从STS(Spring Tool Suite)执行相同操作。

Sidecar的maven依赖关系(以spring-cloud为父):

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-sidecar</artifactId>
</dependency>

答案 1 :(得分:0)

Checkout eureka-js-client,可直接在节点应用程序中使用,以便向eureka注册。

答案 2 :(得分:-1)

我使用npm generator-express-sidecar来生成一个包含所有开箱即用配置的gradlew sidecar项目 请参阅下面分享的参考链接 https://www.npmjs.com/package/generator-express-sidecar