注册中心—注册中心原理
在微服务架构中,注册中心是最核心的基础服务之一,本文将详细介绍下注册中心的组成部分和它们之前的关系。
目录
一、注册中心原理
二、注册中心功能
三、常见的注册中心
一、注册中心原理
注册中心主要涉及到三大角色:服务提供者、服务消费者、注册中心,它们之间的关系大致如下:
- 各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据。
- 服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口。
- 各个微服务与注册中心使用一定机制(例如心跳)通信。如果注册中心与某微服务长时间无法通信,就会注销该实例。
- 微服务网络地址发送变化(例如实例增加或IP变动等)时,会重新注册到注册中心。这样,服务消费者就无需人工修改提供者的网络地址了。
注册中心的架构图如下:
二、注册中心功能
注册中心应具备以下功能:
- 服务注册表 :服务注册表是注册中心的核心,它用来记录各个微服务的信息,例如微服务的名称、IP、端口等。服务注册表提供查询API和管理API,查询API用于查询可用的微服务实例,管理API用于服务的注册与注销。
- 服务注册与发现:服务注册是指微服务在启动时,将自己的信息注册到注册中心的过程。服务发现是指查询可用的微服务列表及网络地址的机制。
- 服务检查:注册中心使用一定的机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表移除该实例。
Spring Cloud提供了多种注册中心的支持,例如Eureka、Consul和ZooKeeper等,下一篇文章将介绍下利用Eureka搭建注册中心,敬请期待哦。
三、常见的注册中心
结合开发中常用的微服务架构体系,再看注册中心。以下主要以Java体系中常用的微服务框架为例进行说明。
1)Dubbo中的注册中心
Dubbo支持多种注册中心的实现,常用的是Redis、Zookeeper,这些组件本身就可以做到高性能和高可用。在Dubbo架构图中,可以看到注册中心(Registry)位于顶端,所有的服务治理相关的操作都围绕它进行。服务提供者(Provider)注册到注册中心,服务消费者(Comsumer)到注册中心订阅,同时,注册中心中的变更也会通知服务消费者。
2)SpringCloud中的注册中心
目前,SpringCloud可以说是最流行的微服务架构,SpingCloud整个体系功能完备,与Spring框架完美契合,开箱即用,极大降低了落地微服务架构的开发成本。在SpringCloud中,也是支持多种注册中心的:
- Spring Cloud Netflix Eureka
- Spring Cloud Zookeeper
- Spring Cloud Consul
以上三种,最常用的主要是Eureka,官方是这样定义的:
Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.
与Dubbo对于服务注册的抽象有所不同,Eureka使用的是C/S架构:
- Eureka Server,注册中心
- Eureka Client,服务消费者和服务提供者
而且,Eureka支持多节点的部署,从而保证高可用。生产环境中,常用的方式是部署两台节点,做成一个P2P的集群。
注册中心—注册中心原理相关推荐
- Nacos 注册中心主要贡献者详解注册中心的设计原理
服务发现是一个古老的话题,当应用开始脱离单机运行和访问时,服务发现就诞生了. 目前的网络架构是每个主机都有一个独立的 IP 地址,那么服务发现基本上都是通过某种方式获取到服务所部署的 IP 地址.DN ...
- python consul配置中心_微服务注册发现配置中心-consul
Consul详解 近期在微服务业务中用的注册中心,在此简单记录下以备后用. 一 概述 1.1 概念 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.Con ...
- 服务注册与发现用mysql_yeasul: 轻量级服务注册与发现中心,具有健康检查功能。...
yeasul 亿联定制版服务注册与发现中心,具备心跳检测功能,由于接口参考了consul,所以取名为yeasul. 项目架构 使用Java语言开发,依赖于MySQL 8.0数据库,基于Spring B ...
- dedeCMS 会员中心注册登陆页面 - 模板修改
dedeCMS 会员中心:注册登陆页面(logo.版权信息等)的修改问题 一. 模板文件路径及修改业务: 文件名 member\templets\ 涉及页面 修改业务 涉及图片名称 reg-new.h ...
- 企业网站+Axure企业官网通用模板+公司官网通用模板+web端高保真原型+门户官网+物流企业+门户网站+服务中心+产品中心+新闻中心+帮助中心+企业官网+公司官网+公司网站+登录注册+高保真交互
企业网站+Axure企业官网通用模板+公司官网通用模板+web端高保真原型+门户官网+物流企业+门户网站+服务中心+产品中心+新闻中心+帮助中心+企业官网+公司官网+公司网站+Axure原型+rp原型 ...
- Consul注册中心注册的服务总是红叉 (All service checks failing)
Consul注册中心注册的服务总是红叉 (All service checks failing) Consul注册中心注册的服务总是红叉 (All service checks failing) 因为 ...
- 中国版权保护中心注册流程(含实名认证)
中国版权保护中心注册流程(含实名认证) https://register.ccopyright.com.cn/login.html 需要使用图片大小小于5.00MB的图片 注册成功 请耐心等待审核
- spring cloudAlibaba gateway网关报错,显示无法找到注册中心注册自己。
spring cloudAlibaba gateway网关报错,显示无法找到注册中心注册自己. 1.错误提示 2020-12-29 11:10:18.521 WARN 232 --- [freshEx ...
- 服务无法注册到注册中心解决
启动服务的时候报了这个错误 org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean ...
最新文章
- iOS UITextField输入框随键盘弹出界面上移
- paddle版fnet_google
- 网站seo优化每天需要做哪些事情呢?
- JSP/Servlet基础语法
- 信息系统项目管理知识--项目配置管理
- Arrays.copyOf()、Arrays.copyOfRange()与System.arraycopy()用法
- java的reflection机制_Java的Reflection机制
- php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?
- 关于非堆内存申请的性能测试
- linux查看内存条pn,内存条,详细教您怎么查看内存条的型号
- 数字图像处理-空间滤波
- 逆向之汇编(堆栈平衡函数)
- power-law 之Zipf
- Linux驱动曝光AMD Vega20核心
- android+复制大文件,手机SD卡无法复制拷贝大文件的解决方法
- Pycharm this applicatation failed to start because it could not find or laod the qt plaform plugin
- Python自动化完成tb喵币任务V2.0
- 通过SnmpWalk获取服务器状态信息
- macos esc按键失效,无法退出vim
- scrapy_splash基本使用