zoukankan      html  css  js  c++  java
  • spring cloud 之 Eureka 知识点:服务注册与发现

    • Eureka原理
    1. 当服务消费者想要调用服务提供者的API时,首先会在注册中心中查询当前可用的实例的网络地址(也可能是定时查询可用实例,本地缓存好可用服务列表),然后再使用客户端负载均衡,命中到其中一个服务提供者实例并请求该实例。下图展示了客户端发现方式的网络拓扑图:

    1. 当服务启动的时候,将会向注册中心注册服务;停止时,向注册中心注销服务;当服务注册到注册中心后,注册中心将会与服务通过心跳机制定时刷新,如果一定时间内注册中心没有收到某实例的心跳,就会将相应实例踢出。
    • 问题:eureka server 红色大字提示:
      EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
      原因:自我保护机制。Eureka Server在运行期间,会统计心跳失败的比例在15分钟之内是否低于85%,如果出现低于的情况(在单机调试的时候很容易满足,实际在生产环境上通常是由于网络不稳定导致),Eureka Server会将当前的实例注册信息保护起来,同时提示这个警告。
      出处:http://blog.51cto.com/simon0816/1946156

    • 做这个例子时,http://blog.didispace.com/spring-cloud-starter-dalston-2-2/
      报错:Request URI does not contain a valid hostname
      原因:在 eureka client 的配置项"spring.application.name"中,不要用下划线(_)
      建议:所有配置项"spring.application.name",都不要有下划线

    • 库存服务、仓储服务、积分服务中都有一个 Eureka Client 组件,这个组件专门负责将这个服务的信息注册到 Eureka Server 中。
      说白了,就是告诉 Eureka Server,自己在哪台机器上,监听着哪个端口。
      而 Eureka Server 是一个注册中心,里面有一个注册表,保存了各服务所在的机器和端口号。
      总结一下:

    1. Eureka Client:负责将这个服务的信息注册到 Eureka Server 中。
    2. Eureka Server:注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号。
      网址:https://mp.weixin.qq.com/s/ZH-3JK90mhnJPfdsYH2yDA
  • 相关阅读:
    验证码学习笔记
    字符串String类
    密封关键字sealed
    比较两个对象是否为同一个对象
    Unity让带有Rigidbody组件的游戏对象停止运动
    Unity3d-制作粒子光环特效
    Unity3d实现的十字路口的模拟(三)
    kinect v2
    Unity3D 之射线检测
    FFmpeg X264的preset和tune
  • 原文地址:https://www.cnblogs.com/cag2050/p/8110098.html
Copyright © 2011-2022 走看看