• spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient区别


    在使用服务发现的时候有两种注解,

    一种为@EnableDiscoveryClient,

    一种为@EnableEurekaClient,

    用法上基本一致,下文是从stackoverflow上面找到的对这两者的解释

    There are multiple implementations of "Discovery Service" (eureka, consul, zookeeper). 
    @EnableDiscoveryClient lives in spring-cloud-commons and picks the implementation on the classpath.
    @EnableEurekaClient lives in spring-cloud-netflix and only works for eureka. If eureka is on your classpath, they are effectively the same.

    意思也就是spring cloud中discovery service有许多种实现(eureka、consul、zookeeper等等)

    @EnableDiscoveryClient基于spring-cloud-commons;而 @EnableEurekaClient基于spring-cloud-netflix

    对@EnableEurekaClient的源码如下:

    /**
     * Convenience annotation for clients to enable Eureka discovery configuration
     * (specifically). Use this (optionally) in case you want discovery and know for sure that
     * it is Eureka you want. All it does is turn on discovery and let the autoconfiguration
     * find the eureka classes if they are available (i.e. you need Eureka on the classpath as
     * well).
     *
     * @author Dave Syer
     * @author Spencer Gibb
     */
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    @EnableDiscoveryClient
    public @interface EnableEurekaClient {
    
    }

    注解@EnableEurekaClient上有@EnableDiscoveryClient注解,可以说基本就是EnableEurekaClient有@EnableDiscoveryClient的功能,另外上面的注释中提到,其实@EnableEurekaClient注解就是一种方便使用eureka的注解而已,可以说使用其他的注册中心后,都可以使用@EnableDiscoveryClient注解,

    但是使用@EnableEurekaClient的情景,就是在服务采用eureka作为注册中心的时候,使用场景较为单一。

  • 相关阅读:
    opencv MAT数据操作
    浅谈模式识别中的特征提取
    设置Mysql的连接超时参数
    win7下怎样设置putty免用户名密码登陆
    正则表达式简明参考
    利用 canvas 破解 某拖动验证码
    wamp环境中mysql更改root密码
    Python读写文件
    Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
    如何改变placeholder的颜色
  • 原文地址:https://www.cnblogs.com/liaojie970/p/9012864.html
Copyright © 2020-2023  润新知