【笔记】SpringCloud(1)之Spring Cloud Eureka

前言

服务调度方式:
1、使用Http的Resful API 或轻量级发送协议,实现信息传递与服务调用的触发;
2、通过轻量级消息总线上传递消息,类似RabbitMQ等一些提供可靠异步交换的中间件;

#搭建服务注册中心(Eureka-Serve)

  1. 创建基础的的SpringBoot工程,引入spring-cloud-starter-eureka-server依赖;
  2. @EnableEurekaServer (服务端注解)注解启动一个服务注册中心,提供给其他服务进行对话;
  3. 禁用它的客户端注册行为(默认将自身作为客户端进行注册)不向注册中心注册自己eureka.client.register-with-eureka=false
  4. 注册服务提供者(client)
    1. 引入依赖spring-cloud-starter-eureka
    2. 注入DiscoveryClient对象,主类添加@EnableDiscoveryClient(客户端注解);
    3. 进行服务命名(spring.application.name)和指定服务注册中心(eureka.client.service-url.defaultZone)

高可用注册中心

  1. 高可用模式:(Eureka-Serve将自己作为服务向其他服务注册中心注册自己,形成一组相互注册的服务注册中心)
spring.application.name=eureka-server
server.port=1111
#高可用集群设置
eureka.instance.hostname=peer1
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

服务发现和服务消费

  1. 服务发现:由Eureka的客户端完成;
  2. 服务消费的任务由Ribbon完成;
    1. Ribbon 是一个基于Http和Tcp的客户端负载均衡器,可以通过客户端中配置的ribbonServerList服务端列表去轮询访问达到负载均衡的作用
  3. 服务提供者:
    1. 服务注册:在启动的时候发送Rest请求将自己注册到 Eureka-Serve上;
    2. 服务同步:多个服务注册中心相互为服务,服务提供者发送注册请求到一个服务注册中心时,它会请求转发给其他的注册中心,从而实现服务同步;
    3. 服务续约:服务提供者维护一个心跳告诉Eureka Server “我还活着”
# 续约服务间隔 30S
eureka.instance.lease-renewal-interval-in-seconds=
# 服务失效时间 90S
eureka.instance.lease-expiration-duration-in-seconds=
  1. 服务注册中心:
    1. 失效剔除:不一定正常下线的服务实例,为此,Eureka Server 在启动的时候会创建一个定时任务,默认每隔一段时间就会将没有续约的服务剔除;
    2. 自我保护: 心跳失败的比例在15分钟内是否低于85%,Eurake Server 会将当前实例保护起来,不让其过期,在此期间,实例如果有问题,客户端要有容错机制(例如请求重试,断路器等机制)
#是否开启自我保护
eureka.server.enable-self-preservation=false

在这里插入图片描述

参考《Spring Cloud 微服务实战》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值