vlambda博客
学习文章列表

分布式架构之服务注册中心





一、什么是服务注册中心?

服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者url串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。

二、为什么要有服务注册中心?

这里着重强调服务注册中心的主要作用,分别为如下:

  • 1.对微服务进行动态集中管理;

  • 2.松耦合,减少服务之间相关的依赖性。

如果没有服务注册中心,那么服务之间的维护、彼此调用将会非常复杂,随着服务的增加,复杂系数也会增加。

三、服务注册中心现有的解决方案有哪些?

下面四种是比较经典的解决方案:

  • 1.Zookeeper;

  • 2.Eureka;

  • 3.Consul;

  • 4.Nacos。

就我的实践经验而言我用过其中三种,一种是基于Dubbo的Zookeeper解决方案,一种是基于Eureka Server+Client的解决方案,另一种是Nacos解决方案。

我曾经写过相关的博文记录,感兴趣的朋友可以阅读:
SpringBoot之整合Dubbo

SpringCloud之Nacos

SpringCloud之服务注册中心和提供者

四、基于这些解决方案,我遇到了哪些问题?

这里以Nacos解决方案为例,我遇到了如下问题:

  • 1.服务注册中心宕机,导致对应的微服务死掉;

  • 2.因为网络问题,微服务之间的调用出现延迟;

  • 3.Nacos日志文件问题(产生大量的日志,严重占用磁盘空间);

  • 4.Nacos启动问题(单机和集群);

  • 5.Nacos配置文件管理持久化问题;

  • 6.服务注册失败问题;

  • 7.新增配置文件无效问题;

  • 8.生产环境运行时间长的时候,偶尔打不开,加载非常慢。

上面这八个问题,涉及面较广,需要深度分析,这里不做详细解答,后面会有专题讲这些问题是如何解决的。


上面红色标记处,均可通过阅读原文获取!!!