微服务系列之ZooKeeper注册中心和Nacos注册中心

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务系列之ZooKeeper注册中心和Nacos注册中心相关的知识,希望对你有一定的参考价值。

参考技术A 写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下!
GitHub地址: https://github.com/abel-max/Java-Study-Note/tree/master

Zookeeper 是 Apache Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,推荐使用。

流程说明:

支持以下功能:

作为 Dubbo 的老牌黄金搭档 ZooKeeper,我们在单独讲解 Dubbo 时已经给大家分享过如何使用了,本文系 Spring Cloud Alibaba 系列文章,重点对象是 Nacos,所以 ZooKeeper 这里就不过多赘述了。

Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理。Nacos 是 Dubbo 生态系统中重要的注册中心实现。

当您将 Nacos 整合到您的 Dubbo 工程之前,请确保后台已经启动 Nacos 服务。

Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”和“配置注册中心“。

核心依赖主要是 dubbo-registry-nacos 和 nacos-client 。

服务提供者和服务消费者只需要调整 address 属性配置即可。

单机配置:

集群配置:

随后,重启您的 Dubbo 应用,Dubbo 的服务提供和消费信息在 Nacos 控制台中即可显示。

微服务系列-注册中心:Nacos

目前,无论面试还是平时的技术交流,都绕不开一个话题,就是如今异常火爆的微服务。那么就以日常工作中微服务开发和大家讨论。


        当业务发展,系统功能逐渐扩大,开发人员迅速增加时,单体架构就会带来它的最大缺陷,系统庞大,代码臃肿,代码耦合严重。此时,想要在原先的系统中增加或者修改功能时就显得异常复杂,牵一发而动全身不为过吧。既然如此,聪明的你们肯定想到了分布式开发,将系统拆分成对外暴露自己功能的模块,此时系统耦合度大大降低,即便其中一个模块出现问题,也不影响其他模块的运行(如果是核心模块当我没说),而且经过拆分后的系统由于模块中无论代码量还是复杂程度都大大降低,此时排查问题将会简单很多(当然比较辛苦的就是运维小哥了,毕竟之前一套部署的系统现在要部署成多个,哈哈哈)。



        那么现在进入微服务中第一个至关重要的组件,注册中心,它提供了2个核心功能。1:服务注册,2:服务发现。


        1、服务注册:将系统中各个服务启动时自动注册到服务中心上,下线时自动从注册中心列表中移除。


        2、服务发现:注册到服务中心的服务,能发现并调用其他注册到同一个服务中心的服务。


        从第一个版本以来的springcloud至今,诞生了很多注册中心,例如:eureka、zookeeper(zk)、consul、nacos等。由于设计初衷,其中的zk和consul采用的是CAP定理(最后会讲到)中的CP,而eureka和nacos则采用AP原则。在eureka和nacos中,eureka又已经闭源,因此我们最终选型的是alibaba开源的nacos作为注册中心(先悄悄说一句,nacos不仅仅可以作为注册中心哦,后续会有其它功能的分享)。

        欢迎各位童鞋提出不同意见。下一篇分享nacos注册中心的搭建。


以上是关于微服务系列之ZooKeeper注册中心和Nacos注册中心的主要内容,如果未能解决你的问题,请参考以下文章

《Nacos系列》之注册中心

云原生系列 | 微服务配置中心之 Nacos

微服务系列之Nacos配置中心之一:Nacos介绍与安装

微服务Spring Cloud Alibaba之Nacos篇, Nacos 就是注册中心 + 配置中心的组合

微服务Spring Cloud Alibaba之Nacos篇, Nacos 就是注册中心 + 配置中心的组合

微服务系列-注册中心:Nacos