Spring Cloud中Eureka的服务注册

Eureka中的服务注册,分为服务注册中心,和服务注册这。

一,服务注册者

服务注册者在启动的时候会通过发送rest请求的方式将自己注册到Eureka Server上。Eureka Server将服务注册的原信息保存在双层结构的map上,第一层的key是服务名,第二层的key是具体服务实例名。

在注册完成后服务提供者会维护一个心跳用来持续的,调用续约服务的时间间隔通过eureka。Instance.less-renewal-interval-in-seconds来设置,默认是30秒。

要开启服务的提供者,我们通过@EnableDiscoveryClient来进行配置。

其主要的作用开启一个DiscoveryClient的实例

/**

* Annotation to enable a DiscoveryClient implementation.

* @author Spencer Gibb

*/

而在Eureka 实现的服务治理中对应的是EurekaDiscoveryClient这一个实现,具体的是通过EurekaClient的实现也就是DiscoveryClient来完成的。

二,注册中心。

注册中心接受和处理服务注册者的请求,处理注册请求的逻辑在ApplicationResource的addInstance方法中。

在完成校验之后,会通过InstanceRegistry中的regist的方法完成注册。

public void register(InstanceInfo info, int leaseDuration, boolean isReplication) {

handleRegistration(info, leaseDuration, isReplication);

super.register(info, leaseDuration, isReplication);

}

private void handleRegistration(InstanceInfo info, int leaseDuration,

boolean isReplication) {

log("register " + info.getAppName() + ", vip " + info.getVIPAddress()

+ ", leaseDuration " + leaseDuration + ", isReplication "

+ isReplication);

publishEvent(new EurekaInstanceRegisteredEvent(this, info, leaseDuration,

isReplication));

}

在handleRegistration的方法中,将服务注册的事件广播出去。

然后调用父类的方法完成注册。

时间: 2024-10-07 05:22:32

Spring Cloud中Eureka的服务注册的相关文章

学习Spring Cloud中eureka注册中心添加security认证,eureka client注册启动报错

最近使用SpringCloud在eureka server端添加security登录认证之后,eureka client注册启动一直报错,大概意思是未发现eureka server,导致注册启动失败! 1 2018-08-09 14:50:06.042 WARN 13256 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator : There was a problem with the instance info replicat

Spring Cloud 入门教程(一): 服务注册

1.  什么是Spring Cloud? Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,链路开关,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态).协调分布式环境中各个系统,为各类服务提供模板性配置.使用Spring Cloud, 开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都能工作得非常好,小到笔记本电脑, 大到数据中心和云平台. Spring Cloud官网的定义比较抽象

Spring Cloud 入门Eureka -Consumer服务消费(声明式Feign)(三)

Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端.它使得编写Web服务客户端变得更加简单.我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定.它具备可插拔的注解支持,包括Feign注解.JAX-RS注解.它也支持可插拔的编码器和解码器.Spring Cloud Feign还扩展了对Spring MVC注解的支持,同时还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现. 1.pom.xml,这里有所不同depen

spring cloud (四、服务消费者demo_consumer)

spring cloud (一.服务注册demo_eureka) spring cloud (二.服务注册安全demo_eureka) spring cloud (三.服务提供者demo_provider) 写完这些案例的demo后面有时间再写这个框架的思想: 注册中心负责服务管理:提供者负责提供服务:消费者调用提供者的服务: 消费者的demo也是一样建一个spring boot 项目:然后修改pom文件如下: <?xml version="1.0" encoding="

Spring Cloud中,Eureka常见问题总结

Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项: 1 eureka.instance.leaseRenewalIntervalInSeconds 参考文档: 1 2 3 Why is it so Slow to Register a Service? Being an instance also involves a periodic hear

Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul)

Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul) 1.Eureka Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了.功能类似于dubbo的注册中心,比如Zookeeper. Eureka包含两个组件:

spring cloud 学习(4) - hystrix 服务熔断处理

hystrix 是一个专用于服务熔断处理的开源项目,当依赖的服务方出现故障不可用时,hystrix有一个所谓的断路器,一但打开,就会直接拦截掉对故障服务的调用,从而防止故障进一步扩大(类似中电路中的跳闸,保护家用电器). 使用步骤:(仍然在之前的示例代码上加以改造) 一.添加hystrix依赖 compile 'org.springframework.cloud:spring-cloud-starter-hystrix' 二.在需要熔断的方法上添加注解 package com.cnblogs.y

spring cloud之eureka简介

最近线上的接口出了一些问题,有一些可能不是代码的问题,但是由于是测试和其他方面的同事爆出来的,所以感觉对接口的监控应该提上日程. 经过搜索发现,spring cloud的eureka就是专门做这方面工作的. 下面一段是<spring cloud 微服务实战>一书中对eureka的简单介绍: Spring Cloud Eureka 是Spring Cloud Netflix 微服务套件中的一部分, 它基于Netflix Eureka 做了二次封装, 主要负责完成微服务架构中的服务治理功能. Sp

SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统

一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 Client. OAuth2的认证流程如图所示,具体如下. (1)用户(资源持有者)打开客户端 ,客户端询问用户授权. (2)用户同意授权. (3)客户端向授权服务器申请授权. (4)授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给予令牌. (5)客户端获取令牌后,携带令牌向资源服