精华内容
下载资源
问答
  • Invocation of destroy method failed on bean with name ‘scopedTarget.eurekaClient’: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ...

    Invocation of destroy method failed on bean with name ‘scopedTarget.eurekaClient’: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ‘eurekaInstanceConfigBean’: Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

    只要服务启动失败就会有这个报错

    比如说是注册到eureka失败;

    以及没到导入springboot-web坐标都会导致服务注册失败;(这里他无法把自己发布上去);

    还有个奇葩状况;端口被抢了;

    展开全文
  • eureka所有配置都使用驼峰命名,如下 eureka: instance: hostname: eureka6001.... client: registerWithEureka: false #服务注册,false表示不将自己注册到eureka服务中 fetchRegistry: false #服务发现,...

    eureka所有配置都使用驼峰命名,如下

    eureka:
      instance:
        hostname: eureka6001.com   #eureka服务端实例名称
      client:
        registerWithEureka: false   #服务注册,false表示不将自己注册到eureka服务中
        fetchRegistry: false         #服务发现,false表示自己不从eureka中获取注册信息
        #eureka客户端与eureka服务端交互地址,集群版配置对方的地址,单机版配置自己(如果不配置则默认本机8761端口)
        service-url:
    #      单机版
    #      default-zone: http://${eureka.instance.hostname}:${server.port}/eureka/
    #      集群版,配置另一个注册中心地址
          defaultZone: http://eureka6002.com:6002/eureka/
      server:
        enableSelfPreservation: false   #开发阶段关闭eureka自我保护机制

    一定不要这样

    eureka:
      instance:
        hostname: eureka6001.com   #eureka服务端实例名称
      client:
        register-with-eureka: false   #服务注册,false表示不将自己注册到eureka服务中
        fetch-registry: false         #服务发现,false表示自己不从eureka中获取注册信息
        #eureka客户端与eureka服务端交互地址,集群版配置对方的地址,单机版配置自己(如果不配置则默认本机8761端口)
        service-url:
    #      单机版
    #      default-zone: http://${eureka.instance.hostname}:${server.port}/eureka/
    #      集群版,配置另一个注册中心地址
          default-zone: http://eureka6002.com:6002/eureka/
      server:
        enable-self-preservation: false   #开发阶段关闭eureka自我保护机制

     

    展开全文
  • 由于项目中需要分服务器器部署,所以就把...eureka注册中心 如果你的注册中心没有配置ip,那注册中心Instance ID默认就是 ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application...

    由于项目中需要分服务器器部署,所以就把 eureka、boot admin 分开了。但是就发现注册中心虽然显示注册的项目,但是一直调不通。

    eureka注册中心

    如果你的注册中心没有配置ip,那注册中心Instance ID 默认就是

    ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}

    这样的话一般显示的是机器名+项目名+端口

    点击跳转就可以发现路径是

    这种显然路径显然在分服务器上部署是不对的。

    所以在分服务器部署的时候要开启client的注册中心ip的配置,如下

    eureka:
      client:
        register-with-eureka: true
        fetch-registry: true
        serviceUrl:
          defaultZone: http://${eurekaUserName}:${eurekaPassWord}@127.0.0.1:9000/eureka/
      instance:
        status-page-url-path: /actuator/info
        health-check-url-path: /actuator/health
    #      分服务器部署一定要配置ip
        prefer-ip-address: true
        ip-address: 127.0.0.1

    ip-address 指向自己部署client的ip

    这样就可以完美解决分服务上的问题。

    spring boot admin 

    spring boot admin也是一样的,正确的配置如下

      boot:
        admin:
          client:
            url: http://127.0.0.1:9002
            instance:
              prefer-ip: true
    #          分服务器部署一定要配置ip
              service-url: http://127.0.0.1:9020

    开启 prefer-ip: true

    service-url 指向的是自己的当前client 的ip+端口。

    具体的例子请参考我的开源项目

    https://gitee.com/dreamfeng/spark-platform

    展开全文
  • 作用:服务注册与发现,在分布式环境中,一个完整的系统可能是由几个、几十、或者几百个服务组合在一起的一套架构, eureka就是将这些毫不相关的服务管理一起。服务发现是基于微服务的体系结构的主要宗旨之一。...

    eureka介绍

    eureka属于springcloud中的一个组件,叫注册中心,什么叫注册中心?它是用来干什么的呢?

    作用:服务注册与发现,在分布式环境中,一个完整的系统可能是由几个、几十、或者几百个服务组合在一起的一套架构, eureka就是将这些毫不相关的服务管理到一起。

    服务发现是基于微服务的体系结构的主要宗旨之一。尝试手动配置每个客户端或某种形式的约定可能很困难并且很脆弱。Eureka是Netflix Service Discovery服务器和客户端。可以将服务器配置和部署为高可用性,每个服务器将有关已注册服务的状态复制到其他服务器。

    搭建eureka

    1.新建工程:

    06528562848c306f23c87552cd1c60c3.png

    2.引入依赖

    1.8Hoxton.RC2org.springframework.cloud            spring-cloud-starter        org.springframework.cloud            spring-cloud-starter-netflix-eureka-server        org.springframework.boot            spring-boot-starter-test            testorg.junit.vintage                    junit-vintage-engine                org.springframework.cloud                spring-cloud-dependencies                ${spring-cloud.version}pomimportorg.springframework.boot                spring-boot-maven-plugin            spring-milestonesSpring Milestoneshttps://repo.spring.io/milestone
    af544f1c3beebb3f7da4e0da134e889a.png

    这是cloud必须的依赖

    2460f19d622b897d9f2f4f431cfb3b71.png

    cloud版本,cloud的版本都喜欢以城市名命名。

    其中eureka的依赖只有一个:

    cbd1bc80e0d5870b4f21a34743f6a0dd.png

    3.编写配置文件

    ddd59111c1ec019982179ab0633184e7.png

    我将application.perproties文件修改为了bootstrap.yml文件,因为cloud支持这种格式,也推荐这种格式。

    server:  port: 8761eureka:  client:    service-url:      defaultZone: http://localhost:${server.port}/eureka/    register-with-eureka: false 
    register-with-eureka:  是否把自己作为服务注册到其他服务注册中心

    4.开启eureka 开启eureka只需要在启动类中加入一个注解即可:

    package com.ymy;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication@EnableEurekaServer //开启eureka的注解,一定要加这个注解,否者没有效果public class CouldEurekaApplication {    public static void main(String[] args) {        SpringApplication.run(CouldEurekaApplication.class, args);    }}

    到这里eureka的配置就基本完成了,下面启动项目

    888022320f48784ddbe120ece5b01aa8.png

    启动成功,由于eureka提供了窗口界面,在浏览器中输入:localhost:8761

    e04302aceafdb027c6aff6d8a90ef071.png

    看到这个界面代表eureka已经被启动成功,服务可以正常注册了。

    如果启动失败,报配置文件的错误的话,可以引入下面的依赖:

    org.springframework.boot            spring-boot-starter-web        

    新建客户端服务一:cloud-user

    1.引入依赖

     1.8Hoxton.RC2org.springframework.boot            spring-boot-starter-web        org.springframework.cloud            spring-cloud-starter        org.springframework.cloud            spring-cloud-starter-netflix-eureka-client        org.springframework.boot            spring-boot-starter-test            testorg.junit.vintage                    junit-vintage-engine                org.springframework.cloud                spring-cloud-dependencies                ${spring-cloud.version}pomimportorg.springframework.boot                spring-boot-maven-plugin            spring-milestonesSpring Milestoneshttps://repo.spring.io/milestone

    2.编写配置文件

    server:  port: 8800eureka:  client:    service-url:      defaultZone: http://localhost:8761/eureka/spring:  application:    name: cloud-user

    3.在启动类中开启eureka客户端注解

    package com.ymy.coulduser;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication@EnableDiscoveryClient   //开启eureka客户端注解public class CouldUserApplication {    public static void main(String[] args) {        SpringApplication.run(CouldUserApplication.class, args);    }}

    新建客户端二:cloud-order

    依赖和cloud-user一样,请参考cloud-user,配置文件如下:

    server:  port: 8900eureka:  client:    service-url:      defaultZone: http://localhost:8761/eureka/spring:  application:    name: cloud-order

    其实也是一样的,就是服务名和端口不一样,在启动类中也要加入启动eureka客户端的注解。

    启动两个项目

    40a58b156304f7e88ddc4ae1b9082793.png
    cbab707332ac2fb229cfdb7e3f1d6340.png

    我们在打开eureka的管理界面:localhost:8761

    cd7ef49bbcece814f86113c2b8d1cc62.png

    可以看到cloud-user、cloud-order服务已经成功的注册到注册中心了。

    由于eureka2.x不在进行维护了,所以选用eureka做注册中心的小伙伴最好将版本降到1.9.x,或者选择其他的注册中心,如:consul、zookeeper等等都是不错的选择。

    展开全文
  • EurekaClient启动以后,不是立即向Eureka Server注册的,而是有一个延迟向服务端注册的时间,通过跟踪源码,可以发现模式延迟时间为40秒; 如果还没有注册,则会抛出:使用 RestTemplate 报java.lang....
  • 服务提供者在服务注册中心注册地址,服务调用者通过服务注册中心获得调用地址,这样做的好处是,即使服务提供者地址变了,也无需修改服务调用者,因为服务调用者可以通过注册中心拿最新调用地址。 Spring Cloud ...
  • eureka注册中,服务之前一直都是完美允许的,最近想把配置文件写到阿里云ACMS上,遂使用spring-cloud-starter-alibaba-nacos-config 的接入方法;...重启服务,刚注册到eureka,就被 cancel ...
  • 本来想着,只要多个 eureka 服务互相注册,就可以形成高可用,就互相成为了副本,但是遇到了一个问题,ip 或者 主机名相同时,无法形成副本。 错误原因 原本在同一台服务器上,以不同的端口来搭建集群,ip 或者 主机...
  • 昨天早上来更新下项目,在测试服务器上重新发布了一下,结果发现服务注册不上了。。。…(⊙_⊙;)…,主要报错信息是跟下图一样的:  自己整理了一下,主要报错信息包括下面这些: There was a problem with ...
  • Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:服务...
  • Netflix公司开源的注册中心,分为Eureka Server和Eureka Client,Eureka Server需要单独作为一个服务发布,启动之后可以在浏览器中打开,Eureka Client则是需要注册到Eureka Server上的服务。 Eureka有自我保护机制...
  • 个人在开发过程中调试代码会把本地服务注册到eureka中,然后因为负载均衡有可能会把请求发送到本地机器,导致调试失败。 我们可以通过发送DELETE请求把 eureka上的本地服务给剔除。 例子: DELETE 请求 ...
  • 使用ip注册eureka

    2018-08-29 16:10:00
    eureka的client注册到server时默认是使用hostname而不是ip(这种情况不总是发生),这就导致服务间相互调用时也会使用hostname进行调用,从而调用失败。 报异常:java.net.UnknownHostException: iZbp1fgdu6lt0h7c8...
  • 前提:服务提供者8001已经成功注册到eureka 但是根据服务名称调用接口时,失败 private static final String PAYMENT_URL = "http://CLOUD-PAYMENT-SERVICE"; //集群配置 @Resource private RestTemplate ...
  • 因为eureka和config 在同一个台服务器,config注册到eureka上时,地址为 机器名,其他不同网段的服务器,拉取配置文件失败。 需要在config上 设置 优先使用 ip注册,同时写明instance-id。 网上大部分,都是写的在...
  • 早上刚公司客户就反映在新增时单据号调用失败,单据号在基本档案这个服务。首先看了远程的生产基本档案ip地址: 命令为:ip add 然后查看生产的的eureka注册ip: 发现有三个是垃圾进程,不知道是为什么产生...
  • eureka的client注册到server时默认是使用hostname而不是ip,这就导致client在多台机器时,服务间相互调用时也会使用hostname进行调用,从而调用失败。 这时候就需要使用ip来服务到eureka-server上,需要在eureka的...
  • 服务注册是微服务体系中最重要的组成部分,无论是Eureka,Zookeeper,还是Nacos,都在各自的体系中扮演着重要的服务注册角色。在上一篇文章中我们已经启动了一个单机的nacos服务,本节我们将新建项目注册到nacos中。1:...
  • 检查后得知,当服务eureka注册的时候,由于配置文件指定的端口和启动服务jar包的shell脚本指定端口不一致,导致在eureka注册了两个不同端口的同名服务,但是实际可用的只有一个,另一个由于EUREKA的HA架构特性,...
  • 解决eureka注册时使用ip而不是hostname

    千次阅读 2018-10-30 17:09:00
    eureka的client注册到server时默认是使用hostname而不是ip,这就导致client在多台机器时,服务间相互调用时也会使用hostname进行调用,从而调用失败。这时候就需要使用ip来服务到eureka-server上,需要在eureka的...
  • 简介笔者最近在新公司开始重新架构公司的微服务,在注册中心选择了 nacos,上家公司 Eureka 遇到了一些坑,想尝试 nacos。整个微服务也会以 Mica 作为微服务核心,感兴趣的朋友可以查看码云链接:...
  • eureka上显示的应用名称为unknown,服务没有正确注册到eureka上,导致feign客户端不能调用该服务。。。 网上找了很多文章都没解决,,, 经过排除问题出在.yml配置文件中,相同的配置只能写一个,删掉就好了...
  • 问题场景: 配置文件统一在码云上托管 服务器 A 节点 :ipA 部署eureka,配置中心config 服务器B 节点:ipB ...错误在于serviceB 从eureka 中获取config 服务时,获取的地址为172.17.0.3 是服务器A 的本机容...
  • 引言Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:...
  • Eureka 缓存机制

    2020-08-19 22:02:46
    Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:服务...
  • 引言Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:...
  • spring cloud eureka

    2021-01-12 19:28:48
    Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:服务...
  • eureka的client注册到server时默认是使用hostname而不是ip。 这样的话使用feign client通过eureka进行服务间相互调用时也会使用hostname进行调用,从而调用失败。 报错如下 : Caused by: java.net....

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

服务注册到eureka失败