注册中心原理:

    注册中心三大角色:

    1:服务提供者

    2:服务消费者

    3:注册中心

注册中心的架构图如下:

zookeeper如何把注册的服务删掉 zookeeper 服务注册_zookeeper

注册中心各角色的关系如下:

  1. 各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据。
  2. 服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口。
  3. 各个微服务与(可理解为客户端)注册中心(可理解为服务端)使用一定机制(例如心跳)通信。如果注册中心与某微服务长时间无法通信,就会注销该实例。
  4. 微服务网络地址发送变化(例如实例增加或IP变动等)时,会重新注册到注册中心。这样,服务消费者就无需人工修改提供者的网络地址了。

ZooKeeper介绍:

ZooKeeper是由雅虎开发并开源的分布式协调服务。ZooKeeper提供了统一命名服务、配置管理、分布式锁等基础服务,基于这些基础服务,我们可以实现集群管理、软负载、发布/订阅、命名服务等功能。

此篇文章中作者只对zookeeper(后面简称为zk)做简单的搭建以及使用,不谈及其具体实现原理,若各位朋友有兴趣可自行百度学习。

zk服务端搭建及配置方式:

可参考地址:

或者

https://www.jianshu.com/p/1a99eebdf075

其中单机版搭建和集群模式搭建都包含于此。

比如作者在三台服务器中搭建了zk集群:

可用性查看

命令:

./zkServer.sh status

很明显,一个leader,两个follower。

zookeeper如何把注册的服务删掉 zookeeper 服务注册_spring cloud_02

zookeeper如何把注册的服务删掉 zookeeper 服务注册_微服务_03

zookeeper如何把注册的服务删掉 zookeeper 服务注册_spring cloud_04

至此服务端集群已部署完成,

可以开始在项目中增加客户端了:

zookeeper如何把注册的服务删掉 zookeeper 服务注册_spring cloud_05

jar包增加完毕后需要在yml文件中增加相应配置信息:

zookeeper如何把注册的服务删掉 zookeeper 服务注册_zookeeper_06

配置完毕后,进行微服务启动即可完成注册。

备注:下一章作者则详细讲解zkui和zk关联的详细使用及如何使用动态配置及zkui源码公布,免费的哦~,所以本篇文章理解起来稍简单点,主要是为了给下一篇文章做铺垫,感兴趣的朋友可对zk原理自行百度学习,会对下一篇文章有更深刻的理解。

整套架构初步规划包含技能点:

    springcloud、springboot、mybatis、分环境打包、mybatis-plus、动态数据源、druid、增删改查一键生成、quartz集群、注册中心:zookeeper+zkui和nacos、gateway网关、feign的使用、熔断机制、如何防止雪崩、分布式+集群、一个项目如何进行zk和nacos同时使用、动态配置:一个配置,所有集群节点共同热点使用。