1,服务注册中心概览

1,背景

当我们的服务提供者有多个时,比如product-service(商品服务)部署了多台之后,

那么服务调用方要调用商品服务的时候要达到负载均衡的效果,该如何做到?

1.1,需要一个注册中心,实现服务的注册与发现,并且监控服务提供方的健康状态

1.2,需要一个负载均衡调用策略的实现

2,服务注册中心有哪些?

2.1,zookeeper

zookeeper它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据统一管理问题,简单来说zookeeper=文件系统+监听通知机制。

2.2,Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。

2.3,Consul

Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件, 采用Raft算法保证服务的一致性,且支持健康检查。

3,Eureka架构

包含两个组件 Eureka Server 注册中心服务端,提供了服务的注册和发现(相当于zookeeper) Eureka Client 注册中心客户端(相当于之前的生产者和消费者), 需要将本身提供的服务注册到EurekaServer

4,搭建Eureka-server

1,创建maven工程,eureka-server,继承父工程,并且引入依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2,在启动类添加注解

@EnableEurekaServer 表示这个应用有注册中心的功能 

3,配置文件

server:port: 8888
eureka:client:register-with-eureka: falsefetch-registry: falseservice-url:defaultZone: http://localhost:20000/eureka

5,将服务注册到Eureka-server

1,引入Eureka-Client依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2,给启动类添加注解

添加注解@EnableEurekaClient,表示这是一个Eureka客户端

3,配置注册中心的地址

server:port: 8080
spring:application:name: product-service
eureka:client:service-url:defaultZone: http://localhost:20000/eureka

6,Eureka的自我保护机制

基本机制:

微服务在注册成功之后,会每隔30秒发送一次心跳包到服务注册中心,通知 Eureka Server 该实例仍然健康运行。如果超过90秒没有发送更新,则服务注册中心会从将该服务从服务列表中移除。

Eureka Server在运行期间,会统计心跳失败的比例在15分钟之内是否低于85%,如果出现这种情况,Eureka Server会 将当前的实例注册信息保护起来,同时提示这个警告。保护模式主要用于一组客户端和Eureka Server 之间存在网络分区场景下的保护作用。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务) 验证完自我保护机制开启后,并不会马上呈现到web上,而是默认需等待 5 分钟(可以通过 eureka.server.wait-time-in-ms-when-sync-empty 配置)

微服务注册中心-Eureka相关推荐

  1. SpringCloud 微服务注册中心 Eureka - Server

    前言 上一篇文章介绍了 Eureka Client 端的相关源码.这篇文章我们学习 Eureka Server 是如何存储 Client 注册过来的实例信息,以及 Server 端如何与 Client ...

  2. 如何优化Spring Cloud微服务注册中心架构?

    作者: 石杉的架构笔记 1.再回顾:什么是服务注册中心? 先回顾一下什么叫做服务注册中心? 顾名思义,假设你有一个分布式系统,里面包含了多个服务,部署在不同的机器上,然后这些不同机器上的服务之间要互相 ...

  3. 微服务 注册中心的作用_102,谈谈微服务注册中心zookeeperamp;Eureka

    首先,大家要明确一点微服务注册中心是一个重要的组件,解决的是服务的注册和发现的问题,而zookeeper,Eureka都只是其中一款落地实现的产品,再比如Nacos也是如此,所以关键是掌握注册中心的工 ...

  4. 微服务注册中心为什么要使用Consul替代Eureka?

    ---------------- 版权声明:本文为CSDN博主「fishinhouse」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://b ...

  5. 【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?

    点击上方"蓝字", 右上角选择"设为星标" 周一到周五早11点30,精品文章准时送上! 本文来自石杉的架构笔记 目录: 一.问题起源 二.Eureka Serv ...

  6. SpringCloud微服务注册中心如何承载大型系统的千万级访问?源码及原理分析

    2019独角兽企业重金招聘Python工程师标准>>> 问题起源     Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服 ...

  7. 微服务注册中心如何承载大型系统的千万级访问?

    本文来源:石杉的架构笔记(shishan100) 目录: 一.问题起源 二.Eureka Server设计精妙的注册表存储结构 三.Eureka Server端优秀的多级缓存机制 四.总结 一.问题起 ...

  8. 主流微服务注册中心浅析和对比

    开源产品受开发者热捧,是因为其代码透明.可以参与共建.有社区进行交流和学习,当然更重要的是开源产品的接入成本低.个人开发者或者中小型公司往往会将开源产品作为选型首选. 开发者通过阅读源代码,理解产品的 ...

  9. 【双11狂欢背后】微服务注册中心如何承载大型系统的千万级访问?

    一.问题起源 Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eureka的. 不少初学Spring Cloud的 ...

最新文章

  1. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划
  2. applicationContext.xml中设置读取jdbc.properties文件
  3. C++ 复制vector值到array,复制 array 到jintArray
  4. C#之windows桌面软件第二课:向单片机发信息的串口工具
  5. hough变换检测圆周_hough变换原理以及实现(转载)
  6. Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
  7. flash 绘图API:绘制弧线
  8. python整数逆序输出_利用Python实现倒序任意整数
  9. SSH连接linux时,长时间不操作就断开的解决方案(增强版)
  10. 拼多多商品采集、商品数据解析详解
  11. TB6612FNG 驱动学习笔记
  12. 思维导图模板创意可爱简单,模板资源分享
  13. 外贸B2C系列:facebook使用教程
  14. 八个典型的大数据应用案例
  15. 【DSP】【第一篇】开始DSP学习
  16. 美颜sdk算法总概——美白
  17. 深富策略:锂电光伏崛起 成长赛道再度回归
  18. QSlider美化规则
  19. FPM实现 Search UIBB 和 List UIBB数据交互
  20. 《统计学》——思考题第四章数据的概括性度量(贾俊平)

热门文章

  1. SEO百度排名实战mp4视频课程
  2. 互感器的一次侧和二次侧产生电动势和端电压的相位极性推理过程。一次侧电流方向不变,只是大小改变,会造成二次侧产生的电流的方向相反,正弦信号的大小和方向是关联的,一起周期变化。疑问之二(推导过程解决疑问)
  3. 什么是社群经济新商业?2019最火爆的生意都靠它
  4. 老翁多年笔耕不断的奖赏
  5. 计算机技术上课,计算机领域新技术讲座上课安排.pdf
  6. 管家婆与盘点机应用解决方案
  7. C语言中面向对象的尝试
  8. 股票交易系统的服务器,股标交易传输系统
  9. 网店管家 不入塔读取淘宝订单的方法
  10. cocos2d中,设置层的可视区域