springcloud学习手册-Eureka(第一节)

导读 |Springcloud Eureka 服务治理

一、服务治理:Springcloud Eureka

Eureka是springcloud Netflix服务套件中的一部分。它主要负责完成微服务架构中服务治理功能。包含基础设施,如下:

  1. 构建服务注册中心
  2. 服务注册与服务发现
  3. Eureka的基础构架
  4. Eureka的服务治理机制
  5. Eureka的配置

二、Eureka的基础构架

大家记住三个组件:服务消费者,服务提供者,服务注册中心

三、服务治理机制

重点理解一下,Eureka是如何实现服务治理的?是怎么运行的?如下图

这张图主要包含几个元素

  1. 服务提供者,启动了两个实例,一个注册到注册中心-1,一个注册到注册中心-2。
  2. 服务消费者,服务的使用者。
  3. 服务注册中心,两个服务中心互相注册。

什么是服务提供者、服务消费者、服务注册中心?

服务提供者(Service Provider)

1、服务注册

在启动时发送REST请求方式将自己注册到Eureka server上。(其实是eureka server接收服务提供者的请求将信息存储器在MAP中保存记录)。

参数配置:eureka.client.register-with-eureka=true

2、服务同步

两个服务注册中心只间互相注册为服务,实现服务同步。

3、服务续约

服务提供者在注册完服务后提供一下心跳告知注册中心,“我还活着呢,你知道我在等你(服务调用)吗?” ,这样注册中心就知道了它还活着不会把它从服务列表剔除。这叫主动心跳告知的方式叫“服务续约”。

参数配置:eureka.instance.lease-renewal-interval-in-seconds=30

eureka.instance.lease-expiration-duration-in-seconds=90

服务消费者(Service consumer)

1、服务失效剔除

服务实例非正常下线状态下,由于内存溢出,网络故障等原因无法提供服务时,注册中心会定时检查服务是否续约,没有续约的服务会被“失效剔除”

2、服务调用

服务消费者获取服务清单后,可通过【服务名】获取服务实例。

3、服务下载

服务实例可以发送“服务下线”的请求给注册中心,告诉注册中心将服务状态调置“下线down”

注册中心(Service)

1、获取服务

在启动时发送REST请求给注册中心,来获取注册的服务清单。

2、自我保持

建议将自我保护功能关闭(为什么关闭的原因,大家可以查一下)。

关闭参数如下:eureka.server.enable-self-preservation=false

四、Eureka的配置(eureka客户端和服务端)

eureka 客户端的配置主要有两个方面

1、服务注册相关的配置信息,包括服务注册中心的地址,服务获取的间隔时间,可用区域等。

主要参数配置:

eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/ 如下是主要的参数配置列表,可参考:

2、服务实例相关的配置信息,包括服务实例的名称、IP地址、端口号、健康检查路径等。

声明:文章属于个人原创,转载请注明文章出处

原文发布于微信公众号 - 全华班(quanhuaban)

原文发表时间:2017-12-07

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

Windows环境下搭建React Native

随着移动开发越来越火热,前端开发也是有之前11年一直火热到现在,不过我发现从去年年底开发,Android和ios基本已经饱和了,特别是随着广大开源社区的中很多人...

1887
来自专栏微服务生态

玩转Flume+Kafka原来也就那点事儿

好久没有写分享了,继前一个系列进行了Kafka源码分享之后,接下来进行Flume源码分析系列,望大家继续关注,今天先进行开篇文章Flume+kafka的环境配置...

742
来自专栏架构师之路

微信为什么不丢消息?

上一章和大家分享了《http如何像tcp一样实时的收消息?》, 本章来聊一聊即时通讯(Instant Messaging,后简称im)消息的可靠投递。 一、报文...

4798
来自专栏xingoo, 一个梦想做发明家的程序员

Apache实现反向代理负载均衡

说到负载均衡LVS这套技术,有很多种实现方法。 本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡。 首先,传统的正向代理如下图所示,正如我们用...

1888
来自专栏编程微刊

如何运行vue项目(维护他人的项目)

前提: 首先,这个教程主要针对vue小白,并且不知道安装node.js环境的。言归正传,下面开始教程:在维护项目之前,需要把所有的环境搭建好,这里我就不多说了...

792
来自专栏网络

HTTP页面如何完成301重定向

上周,本站发布了一篇名为《站长须知:HTTP迁移HTTPS时,如何避免发生重复内容问题》的文章。介绍了HTTP页面迁移到HTTPS的时候,为了避免出现重复内容的...

2305
来自专栏ShaoYL

GitHub 使用手册 - 基础篇

3898
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Netdata设置实时性能监控

Netdata通过可扩展的Web仪表板提供准确的性能监控,可以显示Linux系统上的流程和服务。它监控有关CPU,内存,磁盘,网络,进程等的指标。

1294
来自专栏Laoqi's Linux运维专列

利用Keepalived+mysql构建高可用MySQL双主自动切换

1183
来自专栏FreeBuf

记一次利用BLIND OOB XXE漏洞获取文件系统访问权限的测试

今天,我要和大家分享的是,我在某个邀请漏洞测试项目中,发现Bind OOB XXE漏洞的方法。由于涉及隐私,以下文章中涉及网站域名的部分我已作了编辑隐藏,敬请见...

2705

扫描关注云+社区