专栏首页A周立SpringCloudSpring Cloud Edgware新特性之七:可选的EnableDiscoveryClient注解

Spring Cloud Edgware新特性之七:可选的EnableDiscoveryClient注解

最近家里事情比较多,有20天没有更新博客了。12月31日早上,老婆突然肚子疼,然后就去医院了。在经过难熬的28个小时之后,老婆早产生了个小姑娘。之后就一直奔波在家、医院,直至今日。昨晚凌晨,姑娘突然大便出血,又住院了……南京几个医院的新生儿科都不让陪护,只有周一周四才能看到。

姑娘是个非常乖的宝宝,在家不哭不闹,饿了就吃,吃了就睡,睡醒就拉,拉完接着吃。送到医院给医生洗了个澡就大哭不止。但是没有办法,有病总得治,只能听医生的了。从生老大开始,我就开始跟医院有矛盾。如果把中间的细节描绘一下,大致可以成书。绝对狗血,并且比《Spring Cloud与Docker微服务架构实战》那本精彩,评分高。

话说我家的娃们跟过年大致都有点关系——

  • 老大农历初二生的
  • 老二元旦生的

希望他们的人生像过年一样无忧无虑、吃穿不愁。原本我想写富足,但是富足往往是父母赐给的,以我目前的实力,给他们许诺“富足”还很遥远。

言归正传,回到Spring Cloud——

相信熟悉Spring Cloud的读者对注解 @EnableDiscoveryClient@EnableEurekaClient 并不陌生。简单回顾一下——

要想将一个微服务注册到Eureka Server(或其他服务发现组件,例如Zookeeper、Consul等),只需:

  • 添加Eureka Client(或其他服务发现组件的Client)依赖:
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • 写注解:在启动类上添加注解 @EnableDiscoveryClient@EnableEurekaClient
@EnableDiscoveryClient
@SpringBootApplication
public class ProviderUserApplication {
  public static void main(String[] args) {
    SpringApplication.run(ProviderUserApplication.class, args);
  }
}
  • 写配置:
spring:
  application:
    name: microservice-provider-user
  eureka:
    client:
      serviceUrl:
        defaultZone: http://localhost:8761/eureka/

从Spring Cloud Edgware开始, @EnableDiscoveryClient@EnableEurekaClient可省略。只需加上相关依赖,并进行相应配置,即可将微服务注册到服务发现组件上。

分析

文章写到这里,Edgware新特性已经结束了。

但Spring Cloud为什么要这么设计/改进呢?

这是由于在实际项目中,我们可能希望实现“不同环境不同配置”的效果——例如:在开发环境中,不注册到Eureka Server上,而是服务提供者、服务消费者直连,便于调测;在生产环境中,我们又希望能够享受服务发现的优势——服务消费者无需知道服务提供者的绝对地址。为适应该需求,Spring Cloud Commons进行了改进,相关Issue:https://github.com/spring-cloud/spring-cloud-commons/issues/218 。

如不想将服务注册到Eureka Server,只需设置 spring.cloud.service-registry.auto-registration.enabled=false ,或 @EnableDiscoveryClient(autoRegister=false) 即可。

本文分享自微信公众号 - A周立SpringCloud(gh_e6849e368b5f),作者:周立

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 跟我学Spring Cloud(Finchley版)-01-开篇

    最近挺多童鞋在公众号(itmuch_com)上催更Spring Cloud系列教程,故有此系列。以下是几点说明/规划/答疑:

    用户1516716
  • Spring Cloud Netflix项目进入维护模式之我见

    这两天看到一则新闻:https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available...

    用户1516716
  • Spring Cloud Edgware新特性之六:Artifact ID变更

    Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Clou...

    用户1516716
  • 这些优秀的 Spring Cloud 开源软件,你知道几个?

    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线...

    Java学习
  • 这些优秀的 Spring Cloud 开源软件,你知道几个?

    参考来源:https://github.com/SpringForAll/、Spring Cloud中文网https://springcloud.cc/

    Java后端技术
  • 这些优秀的 Spring Cloud 开源软件,你知道几个?

    参考来源:https://github.com/SpringForAll/、Spring Cloud中文网https://springcloud.cc/

    CSDN技术头条
  • Spring Cloud 是怎么运行的?

    在之前的文章中给大家介绍了Spring Boot的基本运行原理,收到了很多读者朋友们关于目前比较流行的微服务框架Spring Cloud的问题反馈。因此,在这篇...

    纯洁的微笑
  • Spring Cloud系列之微服务介绍

    相信我,请认真读完,点开每一个链接,或许你才能真正了解什么是微服务?什么是分布式?什么是云计算?绝对没有多余!

    冯文议
  • Spring Cloud是怎么运行的?

    在之前的文章中给大家介绍了Spring Boot的基本运行原理(链接),收到了很多读者朋友们关于目前比较流行的微服务框架Spring Cloud的问题反馈。因此...

    用户5927304
  • win10 uwp 装机必备应用 含源代码

    zhxilin大神在文章说到了使用await Windows.System.Launcher.LaunchUriAsync(new Uri(uri));打开应用...

    林德熙

扫码关注云+社区

领取腾讯云代金券