当前位置: 首页 > 知识库问答 >
问题:

尤里卡服务器未发现服务

楚奇逸
2023-03-14

我刚刚开始通过Spring Cloud了解微服务,首先我尝试从本文中重现基本示例https://spring.io/blog/2015/07/14/microservices-with-spring.这是我的代码:

尤里卡服务器

@SpringBootApplication
@EnableEurekaServer
public class ServiceRegistryApplication {

  public static void main(String[] args) {
      System.setProperty("spring.config.name", "registration-server");
      SpringApplication.run(ServiceRegistryApplication.class, args);
  }
}

资源/registration-server.yml:

# Configure this Discovery Server
eureka:
  instance:
    hostname: localhost
  client:  # Not a client, don't register with yourself (unless running
           # multiple discovery servers for redundancy)
    registerWithEureka: false
    fetchRegistry: false

server:
  port: 1111   # HTTP (Tomcat) port

示例服务:

@SpringBootApplication
@EnableDiscoveryClient
public class AccountsServiceApplication {

  public static void main(String[] args) {
      System.setProperty("spring.config.name", "accounts-server");
      SpringApplication.run(AccountsServiceApplication.class, args);
  }
}

帐户-服务. yml:

# Spring properties
spring:
  application:
     name: accounts-service

# Discovery Server Access
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:1111/eureka/

# HTTP Server
server:
  port: 2222   # HTTP (Tomcat) port

你能打电话给我,请问我做错了什么吗?

编辑

共有1个答案

年光明
2023-03-14

请按照以下步骤操作:

1-尤里卡服务器

@SpringBootApplication
@EnableEurekaServer
public class ServiceRegistryApplication {

  public static void main(String[] args) {

      SpringApplication.run(ServiceRegistryApplication.class, args);
  }
}

在application.properties中指定这些参数

spring.application.name=eureka-server
server.port=1111

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false 

2-样本服务

@SpringBootApplication
@EnableDiscoveryClient
public class AccountsServiceApplication {

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

在application.properties中指定这些参数

spring.application.name=accounts-service
server.port=2222

eureka.client.service-url.default-zone=http://localhost:1111/eureka

并且不要忘记删除所有. yml属性文件。

 类似资料:
  • 我正在尝试向尤里卡服务器注册我的微服务。但它显示浏览器中没有可用的实例。我在控制台中没有收到任何错误。请帮助我解决这个问题。 我已经通过在谷歌上搜索尝试了多个选项。不过,我无法解决此问题。 微服务应用程序.属性 客户端主类 Eureka服务器application.properties 尤里卡服务器主类。

  • 我正在尝试使用Spring和Spring Boot学习微服务,并学习部署到云平台。我计划创建一个Angular 2前端应用程序,它与我部署的微服务进行通信。现在,我正在浏览Spring cloud services Eureka、Zuul、Recural breakers等。 null

  • 我正在尝试将我的微服务与Eureka连接起来。 我在主类中添加了注释: 我正在中使用下一个依赖项: 最后,我已经将config添加到< code>application.yml中 正如你所暗示的,这是行不通的。在日志中,我没有看到任何带有标签< code>DiscoveryChannel或< code>Eureka的日志

  • 我的微服务运行良好。在开发过程中,它在尤里卡命名服务器中被正确注册。当我将我的服务和eureka-server部署到两个不同的容器中时,我的微服务没有在eureka-server中注册。我所有的配置和属性文件如下- 我的客户帐户mysql正在尝试连接http://localhost:8761/eureka/.我清楚地提到了客户帐户mysql属性文件中的默认区域。那就是eureka.client.s

  • 我想将 作为容器运行,并希望让其他微服务稍后注册到此容器。但是我遇到了一些问题,让它作为容器运行并访问它。应用程序在 STS 中运行没有问题。当我在STS中执行它时,我可以使用访问。 < code>application.java: > < li >运行< code>mvn包 运行驱逐任务 通知 大约每分钟返回一次。如果我尝试在浏览器中使用 调用 ,它说我无法访问此页面。当我使用 ctrl c 结

  • 如果Eureka客户端没有通过设置Eureka:client:registerWithEureka:false向Eureka服务器注册自己,为什么fetchRegistry属性也需要设置为false?