dyc87112 / blog-comments

5 stars 1 forks source link

Spring Cloud构建微服务架构(二)服务消费者 | 程序猿DD #118

Open dyc87112 opened 6 years ago

dyc87112 commented 6 years ago

http://blog.didispace.com/springcloud2/

在上一篇《Spring Cloud构建微服务架构(一)服务注册与发现》中,我们已经成功创建了“服务注册中心”,实现并注册了一个“服务提供者:COMPUTE-SERVICE”。那么我们要如何去消费服务提供者的接口内容呢? RibbonRibbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon

yuyingyingmax commented 5 years ago

您好,我在您的《Spring Cloud微服务实战》第209页中遇到了配置的问题,在Feign中使用Ribbon配置时,当我在application.properties中配置 ribbon.ConnectTimeout = 500时,IDEA提示我 "Cannot resolve configuration property 'ribbon.ConnectTimeout'"以及” Checks Spring Boot application .properties configuration files. Highlights unresolved and deprecated configuration keys and invalid values.“,这个配置不生效,是因为被弃用了吗?查了很久也没有找到原因,希望您有空能帮忙解答一下,谢谢!我用的jdk1.8,spring cloud的版本是:Greenwich.SR1

Young4Dream commented 5 years ago

@yuyingyingmax 您好,我在您的《Spring Cloud微服务实战》第209页中遇到了配置的问题,在Feign中使用Ribbon配置时,当我在application.properties中配置 ribbon.ConnectTimeout = 500时,IDEA提示我 "Cannot resolve configuration property 'ribbon.ConnectTimeout'"以及” Checks Spring Boot application .properties configuration files. Highlights unresolved and deprecated configuration keys and invalid values.“,这个配置不生效,是因为被弃用了吗?查了很久也没有找到原因,希望您有空能帮忙解答一下,谢谢!我用的jdk1.8,spring cloud的版本是:Greenwich.SR1

这是IDEA的智能提示,但是它的智能是一定的逻辑支持的,因为ribbon的配置比较复杂,IDEA怀疑这个配置可能是多余的。但其实是有用的,如果你有代码洁癖,你可以自行定义metadata文件,伪代码如下: vim src/main/resources/META-INF/spring-configuration-metadata.json

{
  "groups": [
    {}
  ],
  "properties": [
    {
      "name": "ribbon.ReadTimeout",
      "type": "java.lang.String",
      "defaultValue": "5000",
      "description": "Description for ribbon.ReadTimeout."
    },
    {
      "name": "ribbon.ConnectTimeout",
      "type": "java.lang.String",
      "defaultValue": "5000",
      "description": "Description for ribbon.ReadTimeout."
    }
  ],
  "hints": [
    {}
  ]
}
yuyingyingmax commented 5 years ago

@Young4Dream

@yuyingyingmax 您好,我在您的《Spring Cloud微服务实战》第209页中遇到了配置的问题,在Feign中使用Ribbon配置时,当我在application.properties中配置 ribbon.ConnectTimeout = 500时,IDEA提示我 "Cannot resolve configuration property 'ribbon.ConnectTimeout'"以及” Checks Spring Boot application .properties configuration files. Highlights unresolved and deprecated configuration keys and invalid values.“,这个配置不生效,是因为被弃用了吗?查了很久也没有找到原因,希望您有空能帮忙解答一下,谢谢!我用的jdk1.8,spring cloud的版本是:Greenwich.SR1

这是IDEA的智能提示,但是它的智能是一定的逻辑支持的,因为ribbon的配置比较复杂,IDEA怀疑这个配置可能是多余的。但其实是有用的,如果你有代码洁癖,你可以自行定义metadata文件,伪代码如下: vim src/main/resources/META-INF/spring-configuration-metadata.json

{
  "groups": [
    {}
  ],
  "properties": [
    {
      "name": "ribbon.ReadTimeout",
      "type": "java.lang.String",
      "defaultValue": "5000",
      "description": "Description for ribbon.ReadTimeout."
    },
    {
      "name": "ribbon.ConnectTimeout",
      "type": "java.lang.String",
      "defaultValue": "5000",
      "description": "Description for ribbon.ReadTimeout."
    }
  ],
  "hints": [
    {}
  ]
}

谢谢您的解答!