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

相关文章

来自专栏PHP实战技术

mysql高可用架构设计,处理高并发,大流量!

主要介绍:复制功能介绍、mysql二进制日志、mysql复制拓扑、高可用框架、单点故障、读写分离和负载均衡介绍等 mysql复制功能介绍 mysql复制功能提供...

3587
来自专栏腾讯云容器服务团队的专栏

Kubenerters中多种服务访问方式以及相应的安全组设置在腾讯云的落地实践

本文将介绍 Kubernetes 中服务访问的 ClusterIP , NodePort , LoadBalancer 三种方式在腾讯云容器服务中的使用,以及使...

1.6K4
来自专栏HadesMo

停用CDN服务后,为什么仍会有一部分费用产生

250

容纳有状态的应用程序

像Docker Engine这样的应用程序容器技术提供了底层应用程序组件的基于标准的打包和运行时的管理。

18410
来自专栏Java Edge

Tomcat集群目录1. Tomcat集群能带来什么2. Tomcat集群实现原理3. 一,二期架构对比4 Tomcat单机部署多应用-CentOS6.8Nginx负载均衡配置,常用策略,场景及特点

2766
来自专栏我是攻城师

如何管理Spark Streaming消费Kafka的偏移量(一)

5137
来自专栏不止思考

架构设计之「数据库从主备到主主的高可用方案」

在互联网项目中,当业务规模越来越大,数据越来越多,随之而来的就是数据库压力会越来越大。慢慢就会发现,数据库层可能已经成为了整个系统的关键点和性能瓶颈了,因此实现...

1307
来自专栏杨建荣的学习笔记

sysbench压测小记(r11笔记第99天)

对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述。 比如一台新...

3336
来自专栏杨建荣的学习笔记

datapump跨平台升级迁移的对比测试和优化 (r8笔记第81天)

目前计划对跨平台的数据库环境进行迁移,一来降低运维成本,二来更加可控。其实对于很多机器来说,如果机器跑了很多年,一直没有重启过,那么时间长了,一 个直...

34911
来自专栏大数据和云计算技术

MySQL NDB Cluster实战

前言 本文来自睿哲科技的张树杰同学分享MySQL NDB集群的基础知识和搭建,非常赞! 希望越来越多的同学一起来分享,帮助他人,...

3617

扫码关注云+社区