我是靠谱客的博主 热情火车,最近开发中收集的这篇文章主要介绍Eureka 注册服务踩坑记录(原因:没有驼峰命名 ),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天尝试了一下spring cloud,在配置eureka服务端的时候一切正常,但在启动eureka客户端时,idea报了com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server的错误。根据这个英文意思应该是无法执行请求到任何服务器,我先检查了配置内容,也没发现什么问题。根据网上搜索到的结果分为3类

1.服务端的配置有问题,需要在配置文件中将自身注册到eureka服务中关闭,因为本身就是注册中心 

eureka:
  instance:
    #注册中心地址
    hostname: 127.0.0.1
  ###客户端调用地址
  client:
    serviceUrl:
      defaultZone: http://127.0.0.1:8888/eureka/
    ###是否将自己注册到Eureka服务中,因为该应用本身就是注册中心,不需要再注册自己(集群的时候为true)
    registerWithEureka: false
    ###是否从Eureka中获取注册信息,因为自己为注册中心,不会在该应用中的检索服务信息
    fetchRegistry: false

2.服务端安装了spring security或是eureka自带了安全验证的功能,导致客户端进行注册,可以选择这个功能关闭,

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        super.configure(http);
    }
}

除了上面这段代码应该还需要在application.properties或者application.yml中进行一些配置,这个问题我没遇到过,不过多赘述。

3.采用驼峰命名配置eureka,不要使用idea自动补齐的方式进行配置,这也是我遇到的问题。

下面是我原来的配置

eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.default-zone=http://127.0.0.1:8888/eureka

这种配置方式就会导致我的客户端无法进行注册,需要将register-with-eureka这种命名的改成驼峰命名方式。

改成下面这种命名方式后我的代码就可以顺利执行了。ps:这也忒搞人了吧!

eureka:
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://127.0.0.1:8888/eureka

至于properties转成yml后对运行有没有影响我就不知道了。

参考文章:https://blog.csdn.net/hanchao5272/article/details/80464087

最后

以上就是热情火车为你收集整理的Eureka 注册服务踩坑记录(原因:没有驼峰命名 )的全部内容,希望文章能够帮你解决Eureka 注册服务踩坑记录(原因:没有驼峰命名 )所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部