1、什么是注册中心
注册中心主要用于微服务之前的调用之中,就比如说我们下面这张图,当生产者有多个的时候,我们消费者去调用,那么就需要在自己系统中存储多个生产者相应的ip:port信息,才可以去调用,然而如果说我们的生产者地址信息有变化(换机器或者扩容等情况),那么我们就需要手动修改消费者系统的代码并重新部署,显然这样就很不灵活,注册中心的出现就解决了这样的问题,请往下看:
当注册中心的出现,就如下图所示,将ip:port信息抽取出来,全部归由注册中心来管理,消费者需要去注册中心拉取ip:port信息,生产者需要去注册中心注册ip:port信息,那么怎么来保证它的灵活呢,请看图中的定时拉取字眼以及心跳字眼,简单先理解一下,都是定时任务。消费者会定时从注册中心拉取ip:port信息,注册中心会定时去连接生产者,以保证自己所存储的ip:port都是存活的生产者。
所以注册中心就是将服务之前的调用抽取出来了,解决了服务调用之间硬编码的问题。
总结:市面上常见的系统有:zookeeper、eureka、nacos
2、什么是配置中心
配置中心主要用于自身系统,当配置中心出来之前,我就拿单体的springBoot项目做例子,SpringBoot项目里有许多的配置文件,比如 application.yml,我们可以在这里面写很多的配置信息,比如数据库源信息、redis中间件信息等。但是如果当我们需要切换这些数据源时,就需要修改相应的配置文件然后重新部署服务,这样子显然也是非常的不灵活的,于是就出现了配置中心,如下图所示:
所以配置中心的出现解决了对于系统自身配置的热部署问题。
总结:市面上常见的系统有:apollo、naocs