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 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2665
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7068
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2872
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4878
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2617
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4828
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4948
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2606
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

3008
来自专栏杨龙飞前端

scrollto 到指定位置

2544

扫码关注云+社区