亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

跟我學Spring Cloud(Finchley版)-05-服務注冊與服務發現-Eureka入門

標簽:
Spring Cloud

本节讲解基于Eureka的服务发现。

Eureka简介

Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务,包含Server和Client两部分,Spring Cloud将它集成在子项目Spring Cloud Netflix中。

拓展阅读

  • Eureka的GitHub:https://github.com/Netflix/Eureka

  • Netflix是一家在线影片租赁提供商。

  • Eureka的典故:阿基米德发现浮力时,非常开心,于是说:“Eureka!”意思是“我找到了!”。Netflix将它们的服务发现组件命名为Eureka实在是非常形象。

理解跟我学Spring Cloud(Finchley版)-04-服务注册与服务发现-原理剖析 所讲的服务发现原理后,我们来编写基于Eureka的服务发现——首先编写一个Eureka Server,然后将前文的微服务都注册到Eureka Server上。

编写Eureka Server

  • 加依赖

    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      </dependency></dependencies>
  • 加注解

    @SpringBootApplication@EnableEurekaServerpublic class EurekaApplication {  public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
      }
    }
  • 写配置

    server:
      port: 8761eureka:
      client:    # 是否要注册到其他Eureka Server实例
        register-with-eureka: false
        # 是否要从其他Eureka Server实例获取数据
        fetch-registry: false
        service-url: 
          defaultZone: http://localhost:8761/eureka/

TIPS

这里,大家可先不去探究registerWithEureka 以及fetchRegistry 究竟是什么鬼,笔者将在下一节为大家揭晓。

将应用注册到Eureka Server上

  • 加依赖

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
  • 加注解

    @SpringBootApplicationpublic class ProviderUserApplication {  public static void main(String[] args) {
        SpringApplication.run(ProviderUserApplication.class, args);
      }
    }

    注意:早期的版本(Dalston及更早版本)还需在启动类上添加注解@EnableDiscoveryClient@EnableEurekaClient ,从Edgware开始,该注解可省略。

  • 添加配置:

    spring:
      application:    # 指定注册到eureka server上的服务名称,对于电影微服务,本系列将名称设为microservice-consumer-movie
        name: microservice-provider-user
    eureka:
      client:
        service-url:      # 指定eureka server通信地址,注意/eureka/小尾巴不能少
          defaultZone: http://localhost:8761/eureka/
      instance:    # 是否注册IP到eureka server,如不指定或设为false,那就会注册主机名到eureka server
        prefer-ip-address: true

测试

  • 依次启动Eureka Server以及用户微服务、电影微服务;

  • 访问http://localhost:8761 可观察到类似如下界面:

    webp

    Eureka Server-01

  • 将用户微服务停止,可看到Eureka Server首页变成类似如下界面:

    webp

    Eureka Server-02

配套代码




點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消