您的位置:首页 > 编程语言 > Java开发

Eureka注册中心(Spring Cloud)

2020-01-14 04:57 288 查看

1 eureka 和 zookeeper 的区别

1) eureka

AP - 可用性, 分区容错性

集群 - 对等结构

2) zookeeper

CP - 一致性, 分区容错性

集群 - 主从结构

2 eureka的运行参数

1)微服务启动时, 如果向eureka注册失败, 每隔30秒, 重复尝试注册

2)每隔30秒,会从eureka重新拉取地址表

3)每隔30秒,微服务向eureka发送一次心跳数据

4)如果连续丢失3次心跳数据, eureka任务微服务不可用
5)微服务不可用时,eureka会进入保护模式,保留服务的地址,不删除
6) 微服务启动时 , 向eureka注册失败 , 每隔30秒重复尝试注册 , 直到注册成功
7) 心跳: 每隔30秒 , 微服务向eureka发送一次心跳数据 ; 证明自己还活着
如果连续3次丢失心跳数据 , eureka认为微服务不可用
–>>这时会保留这个微服务的地址
8) 保护模式: 微服务不可用时 , eureka会进入保护模式 , 保留服务地址 ,不删除
–>>原因: 有可能是因为网络问题 ; 但是其他服务调用这个微服务也可以调用
所以eureka会保留这个微服务的地址 , 不会造成服务的中断
保留地址的原因就是为了让别的微服务调用
–>>开发测试期间 ,可以把自我保护模式关闭
在yml文件中修改
9) 每隔30秒 , 会从eureka重新拉取地址表 , 会更新之前的地址表
10) eureka是不需要自己写代码的 ; 可以设置或调整

3 为什么需要注册中心,没有注册中心会怎样

1) 注册中心的作用就是帮你动态记录服务的IP地址

比如我想在58上面找江哥捏脚 以前江哥的地址是天上人间 我就直接去哪里找他 但是后来江哥生意不好 换了一家店 等下次我再想找江哥捏脚如果还去天上人间就找不到他了 如果有注册中心 不管江哥去哪家店捏脚 我都能在注册中心上面获取江哥的地址

2) 为什么需要注册中心:

因为使用注册中心实现了跨系统访问.

没有注册中心会怎么:

没有注册中心,调用则会变的很麻烦,要使用HttpClient技术.

3) 注册中心作用:

1:服务端服务的注册和客户端服务的发现 注册和发现

2、提高系统的高可用性

3、提高系统的可伸缩性

4、集中管理服务 服务治理

4 搭建eureka集群

会有一个默认的集群 ; 这个集群在你配置集群之后就会被替代

5 特点

对等结构: 多台eureka

6 eureka 注册与发现

1) 创建 eureka server 项目:sp05-eureka



pom.xml


application.yml

(1) hostname

eureka 集群服务器之间,通过 hostname 来区分

(2)eureka.server.enable-self-preservation

eureka 的自我保护状态:心跳失败的比例,在15分钟内是否低于85%,如果出现了低于的情况,Eureka Server会将当前的实例注册信息保护起来,同时提示一个警告,一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据。也就是不会注销任何微服务

(3)eureka.client.register-with-eureka=false

不向自身注册

(4) eureka.client.fetch-registry=false

不从自身拉取注册信息

####(1)eureka.instance.lease-expiration-duration-in-seconds

最后一次心跳后,间隔多久认定微服务不可用,默认90

2)主程序

添加 @EnableEurekaServer

3)修改 hosts 文件,添加 eureka 域名映射

C:\Windows\System32\drivers\etc\hosts
添加内容:

4)启动,并访问测试

http://eureka1:2001

7 eureka 和 “服务提供者”的高可用

1) item-service 高可用

启动参数 --server.port 可以覆盖yml中的端口配置

2) 配置启动参数

2.1)item-service-8001



2.2) item-service-8002

3) 启动测试

访问 eureka 查看 item-service 注册信息

访问两个端口测试
http://localhost:8001/35
http://localhost:8002/35

4) eureka 高可用

添加两个服务器的 profile 配置文件

application-eureka1.yml

application-eureka2.yml

5) 配置启动参数 --spring.profiles.active 和 --server.port

eureka1 启动参数:



eureka2 启动参数:




6) 访问 eureka 服务器,查看注册信息

http://eureka1:2001/

http://eureka2:2002/

7) eureka客户端注册时,向两个服务器注册

修改以下微服务

sp02-itemservice
sp03-userservice
sp04-orderservice

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Cv小码农 发布了117 篇原创文章 · 获赞 1 · 访问量 493 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: