Spring Cloud Eureka Server使用(注册中心)
Posted on 2018-11-15 10:43 work hard work smart 阅读(327) 评论(0) 编辑 收藏 举报一、什么是Spring Cloud Eureka?
基于Netflix Eureka做了二次封装
由两个组件组成
Eureka Server 注册中心, 提供服务注册的服务,存储所有可用的服务。
Eureka Client 服务注册。 用于简化与服务的交互的复杂度。
他们的关系如下图:
二、注册中心
Eureka Server
记录了所有应用的信息和状态
三、Eureka核心特性
1、服务注册
Eureka Client在第一次心跳时向Eureka Server注册
注册时会提供诸多自身元数据: 主机名、端口、健康指标URL等
2、服务续约
Eureka Client通过发送心跳进行续约
默认情况下每30秒钟发送一次心跳
如90秒内Eureka Server未收到续约,则进行服务剔除
3、服务下线
Eureka Client优雅退出时会发送cancel命令
Eureka Server收到cancel命令时会删除该节点
4、获取注册列表信息
Eureka Client会缓存由Server获取的注册表信息
Eureka Client会定期更新注册表信息【默认30秒】
Eureka Client会处理注册表的合并等内容(合并、修改、剔除等)
四、创建工程
下一步
下一步
然后在类EurekaApplication中增加EnableEurekaServer注解
创建好了之后,启动应用
但是不停的报如下错误
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
解决方法:创建application.yml文件,增加如下图的配置
2、打开localhost:8080
因为该应用程序是注册中心,不应该出现在Instances currently registered with Eureka中
所有增加配置
3、修改端口
因为Java很多默认的端口是8080,为了便于管理,将端口改成默认端口8761
六、多注册中心比较
1、分布式基础: CAP理论
C: 一致性:Consistency
A:可用性 : Available
P: 分区容错性: Partition tolerance
2、常见注册中心: Zookeeper, Eureka等。
3、Eureka主要保证AP特性
4、Zookeeper是典型的CP特性
七、Eureka注册慢的原因?
注册慢的根本原因在于Eureka的AP特性
Eureka Client延迟注册,默认30秒
Eureka Server的响应缓存,默认30秒
Eureka Server的缓存刷新,默认30秒
八、Eureka的自我保护
Eureka Server会自动更新续约更新阈值
Eureka Server续约更新频率低于阈值则进入保护模式。
自我保护模式下Eureka Server不会剔除任何注册信息
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!