学习笔记一、SpringCloud:Eureka注册中心搭建

一、服务注册与发现

Eureka 单节点搭建

1.pom.xml配置


	org.springframework.cloud
	spring-cloud-starter-netflix-eureka-server

这个依赖已经包含了spring-boot-starter-web依赖,所以不需要再次引用。

2.application.yml配置

eureka: 
  client:
    #是否将自己注册到Eureka Server,默认为true,由于当前就是server,故而设置成false,表明该服务不会向eureka注册自己的信息
    register-with-eureka: false
    #是否从eureka server获取注册信息,由于单节点,不需要同步其他节点数据,用false
    fetch-registry: false
    #设置服务注册中心的URL,用于client和server端交流
    service-url:                      
      defaultZone: http://localhost:7900/eureka/

也可以使用application.properties配置文件

#是否将自己注册到Eureka Server,默认为true,由于当前就是server,故而设置成false,表明该服务不会向eureka注册自己的信息
eureka.client.register-with-eureka=false
#是否从eureka server获取注册信息,由于单节点,不需要同步其他节点数据,用false
eureka.client.fetch-registry=false
#设置服务注册中心的URL,用于client和server端交流
eureka.client.service-url.defaultZone=http://localhost:7900/eureka/

3.EurekaServerApplication启动类

// 启动类上添加此注解标识该服务为配置中心
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

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

}

4.成功启动,并访问

学习笔记一、SpringCloud:Eureka注册中心搭建_第1张图片

看到如上页面,就说明一个简单的服务注册中心就搭建完成了。

二、Eureka介绍

1.背景:在传统应用中,组件之间的调用,通过有规范的约束的接口来实现,从而实现不同模块间良好的协作。但是被拆分成微服务后,每个微服务实例的网络地址都可能动态变化,数量也会变化,使得原来硬编码的地址失去了作用。需要一个中心化的组件来进行服务的登记和管理。

2.概念:实现服务治理,即管理所有的服务信息和状态。

3.服务注册与发现包括两部分,一个是服务器端,另一个是客户端。

Server是一个公共服务,为Client提供服务注册和发现的功能,维护注册到自身的Client的相关信息,同时提供接口给Client获取注册表中其他服务的信息,使得动态变化的Client能够进行服务间的相互调用。

Client将自己的服务信息通过一定的方式登记到Server上,并在正常范围内维护自己信息一致性,方便其他服务发现自己,同时可以通过Server获取到自己依赖的其他服务信息,完成服务调用,还内置了负载均衡器,用来进行基本的负载均衡。

三、注册中心和微服务间的关系

1.Client功能

(1)注册:每个微服务启动时,将自己的网络地址等信息注册到注册中心,注册中心会存储(内存中)这些信息。

(2)获取服务注册表:服务消费者从注册中心,查询服务提供者的网络地址,并使用该地址调用服务提供者,为了避免每次都查注册表信息,所以client会定时去server拉取注册表信息到缓存到client本地。

(3)心跳:各个微服务与注册中心通过某种机制(心跳)通信,若注册中心长时间和服务间没有通信,就会注销该实例。

(4)调用:实际的服务调用,通过注册表,解析服务名和具体地址的对应关系,找到具体服务的地址,进行实际调用。

2.server注册中心功能

(1)服务注册表:记录各个微服务信息,例如服务名称,ip,端口等。

注册表提供 查询API(查询可用的微服务实例)和管理API(用于服务的注册和注销)。

(2)服务注册与发现:注册:将微服务信息注册到注册中心。发现:查询可用微服务列表及其网络地址。

(3)服务检查:定时检测已注册的服务,如发现某实例长时间无法访问,就从注册表中移除。

组件:Eureka , Consul , ZooKeeper,nacos等。

四、服务注册

1.pom.xml配置


	org.springframework.cloud
	spring-cloud-starter-netflix-eureka-server

2.application.yml配置

#注册中心
eureka: 
  client:
    #设置服务注册中心的URL
    service-url:                      
      defaultZone: http://root:root@localhost:7900/eureka/

不想注册,设置成false即可,实例演示结果:注册中心没有实例信息。找控制台204信息也没有找到。

spring: 
  cloud:
    service-registry:
      auto-registration:
        enabled: false

注册成功:

DiscoveryClient_PROVIDER/DESKTOP-IL0MV85:provider:8080 - registration status: 204

Eureka Server与Eureka Client之间的联系主要通过心跳的方式实现。心跳(Heartbeat)即Eureka Client定时向Eureka Server汇报本服务实例当前的状态,维护本服务实例在注册表中租约的有效性。

Eureka Client将定时从Eureka Server中拉取注册表中的信息,并将这些信息缓存到本地,用于服务发现。

你可能感兴趣的:(SpringCloud,eureka)