Spring Cloud入门实战(一) Eureka--服务注册与发现

本文介绍了Spring Cloud的Eureka服务注册与发现组件。Eureka包含Server和Client,服务提供者启动时注册到Eureka Server,服务消费者从Eureka查询服务地址。Eureka Server支持高可用集群,客户端缓存注册信息,即使Server挂掉也能正常工作。此外,文章还讲解了Eureka的自我保护模式和健康检查功能。
摘要由CSDN通过智能技术生成

服务的注册与发现

在微服务架构中,服务的发现和注册至关重要。服务提供者、服务消费者、服务发现组件的关系大致如下:

  • 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息。
  • 服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口。
  • 各个微服务与服务发现组件使用一定机制通信。服务发现组件如长时间无法与某微服务实现通信,就会注销该实例。
  • 微服务网络地址发生变更时,会重新注册到服务发现组件。使用这种方式服务消费者就无需人工修改提供者的网络地址了。
    在这里插入图片描述

Eureka简介

Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务。它包含server和client两部分。可以用它来实现微服务的注册与发现。

Eureka原理和作用

  • Eureka Server 提供服务发现的能力,各个微服务启动的时候,会向Eureka Server中注册自己的信息,一些ip、端口、名称等等。Eureka Server 会存储这些消息。
  • Eureka Client 是一个java客户端,用于简化和Server的交互。
  • 微服务启动后,会周期性的(默认30s)向Eureka Server发送心跳消息以续约。
  • 如果Eureka Server一段时间没有收到某个微服务的心态,那么Eureka Server将会注销该实例。(90秒后)
  • 默认情况下,Eureka Server也是 Eureka Client。多个Eureka Server实例,互相之间通过复制的方式,来实现注册表中数据的同步。
  • Eureka Client 会缓存注册表中的信息。保证即使Eureka Server 无响应挂掉之后,能正常在缓存中找到服务提供者信息。

编写Eureka Server

本文用到的springboot版本为2.2.2.RELEASE,springcloud版本为Hoxton.SR1

创建一个springboot项目

在这里插入图片描述
添加Eureka Server的起步依赖。
在这里插入图片描述
在启动类上加入@EnableEurekaServer注解,声明这是一个Eureka Server 服务。

将application.properties改成application.yml,然后写入以下配置

server:
  port: 8000
eureka:
  client:
    register-with-eureka: false #表示是否将自己注册到Eureka Server。
    fetch-registry: false #表示是否从Eureka Server 拉取信息。默认为true,因为这是一个单节点的Eureka Server,所以不需要。
    service-url:
      defaultZone: http://localhost:8000/eureka/ #表示与Eureka Server 交互的地址。查询服务和注册服务都需要用到这个地址。多个地址可用逗号分隔。

这样一个Eureka Server 已经编写完成了,是不是很简单呢。然后启动项目,访问http://localhost:8000/
在这里插入图片描述

编写Eureka Client 注册到 Eureka Server

新建一个项目,或者将Server的项目拷贝过来。在启动类上添加@EnableDiscoveryClient注解。pom文件不用变。
也可以用@EnableEurekaClient 注解,@Enabl

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值