spring cloud是很多技术的合集,比如Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。
Spring Cloud封装了Netlix 公司开发的Eureka模块来实现服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
Eureka是Netflix中的一个开源框架。
它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 也集成了Zookeeper和Consul。
在项目中使用Spring Cloud Euraka的原因是它可以利用Spring Cloud Netfilix中其他的组件,如zull等,因为Euraka是属于Netfilix的。
eureka在微服务的体系中,主要的功能是实现服务治理,服务注册与发现
解决方式就是:引入服务管理者,也就是服务治理
服务治理的管理者叫做注册中心
服务注册:每个服务在启动的时候,告诉注册中心自己的位置信息
服务发现:A服务想调用B服务,就得先去注册中心拿到所有服务的位置信息,然后找到B的地址,发起调用
心跳机制:服务启动之后,每过30秒向注册中心发一个消息,告诉注册中心自己还存活。
如果注册中心长时间没有收到某个服务的心跳,那么就会认为该服务宕机,然后把该服务从注册列表中删除。
默认是3个心跳周期,也就是90秒。
在Eureka的架构中,分为 Eureka Server 和 Eureka client。
Eureka Server 作为服务注册功能的服务器,也是服务注册中心。
提供服务注册服务,在各节点启动之后,会在Eureka Server 中进行注册。
这样Eureka Server 中的服务注册表中将会存储所有可用服务节点的信息,
服务节点的信息可以在界面中直接看到(监控页面)
系统中的其他微服务,使用eureka的客户端连接到eureka server并维持心跳连接。
这样系统的维护人员就可以通过eureka server来监控那个系统中各个微服务是否正常运行。
eureka client是一个Java客户端,用于简化eureka server的交互
客户端也具备一个内置的,使用轮询负载算法的负载均衡器
笔记内容来源:F版本SpringCloud 3—大白话Eureka服务注册与发现 - 知乎