开发者学堂课程【阿里巴巴分布式服务框架 Dubbo 快速入门:ZooKeeper 宕机与 Dubbo 直连】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/624/detail/9472
Zookeeper 宕机与 Dubbo 直连
内容介绍:
一、高可用
二、Zookeeper 宕机
三、dubbo 直连
一、高可用
高可用,即在封闭系统里,通过一些设计或者一些架构来减少系统不能提供服务时间,也就是说,保证系统每天都能7×24小时不间断提供服务。
二、Zookeeper 宕机
注册中心目前是用 zookeeper 来做,如果注册中心服务器挂掉,应该怎么办?
注册管理台连接控制中心,包括在系统管理里,系统状态中注册中心是正常的,在正常的情况下启动服务提供者,再启动服务消费者,测试消费者调用提供者服务,消费者在8081端口启动,我们将访问 localhost8081,以前有一个方法叫初始化订单,访问成了服务提供者的服务,在注册中心服务台,也可以看到有消费者2个,消费者1个,分别是 user-service-provider 提供者和 user-service-consumer 消费者,如果注册中心关掉,这个时候的系统状态注册中心是连接不上的,此时调用依然成功,这就是我们说的,即使注册中心宕掉,由于服务提供者和服务消费者之间是有本地缓存的,消费者已经调用过一次提供者,提供者在哪台机器,这些方法的详细信息,消费者有缓存,注册中心宕掉,可以通过本地的缓存知道将要调的提供者所在的位置,可以不找注册中心。如果监控中心宕掉也不会影响使用,它只是信息统计用的,包括注册信息集群,注册中心是十几台 zookeeper 工作,有一台挂掉以后,它会自动切换到另外一台,全部挂掉以后还能通过本地通讯的缓存来进行通讯。
注册中心的作用是保护服务提供者所在位置信息的,其实可以完全绕过注册中心,进行第二种方案,dubbo 直连。
三、dubbo 直连
进行测试
指定 Reference(url=“127.0.0.1:20882“)是直接连向端口,绕过注册中心的,重新启动测试,结果在8081端口启动起来,调用刷新,发现也是可以调用的,但是这种方式是采用直连,直接告诉它 user-service 所在的地址代码为 Reference(url=“127.0.0.1:20882“)//dubbo 直连
总结:zookeeper 宕机,消费者可以调用提供者服务,因为有本地缓存。
没有注册中心,也可以调服务,可以使用 dubbo 直连的方式。