开发者学堂课程【Dubbo + ZooKeeper 的服务发现最佳实践:Dubbo + ZooKeeper 的服务发现最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1012/detail/15069
(2)、程序
这个程序其实很简单,其实就是一个 Dubbo 的一个 providers 跟 consumers,然后它们有分别对应着自己的一个配置文件。然后这里的 pom 里面也依赖也很简单,就是依赖的一个 Dubbo,现在2.7版本里最新的版本2.7.5。然后另外一个依赖就是 ZooKeeper。把这两个依赖加上就 OK 了。
然后看一下 providers 的写法。下图是 providers 的一个配置文件,
然后,这里跟 ZooKeeper 集成,唯一要改的其实就是下图标签。
然后其它的写法就是正常的怎么使用 Dubbo 就这么配就好,地址的地方就配ZooKeeper 的地址连接串。
可以看一下刚才购买的集群已经好了。
之后就把 providers 去连到这台器上面去,然后联的方式就用下图所示的外网。
用提供的 aliyuncs.com 去连。只要把这个写在这里就行。这样就已经配置好了。
这里有个问题,就是因为默认出来的公网是没有安全设置的。做的白名单设置的,也就是说现在实际上是通过这个地址传输方法不通的。可以做个实验。是拿不到数据的。
但是把它全部删掉,其实默认就是开启。就可以从 ZooKeeper 上面获取到数据了。
开启之后把地址填好。把阿里巴巴零默认端口写好,然后是服务名,实现类。
定义的接口,定义了一个 say hello 的一个接口。
就是实现的话就是把录参给它打出来。也非常简单。
然后可以看见到下面就是的启动程序,
加载 providers 的插件文件,然后就可以启动,就可以把 hello service 这个服务给它注册到的 ZooKeeper 上面去。可以看一下 ZooKeeper 它的数据!数据里面其实是没有任何数据的。
ZooKeeper 的一个默认的一个 ZooKeeper 的节点。
当 providers 起来的时候。然后可以看一下。它会往 ZooKeeper 里面去写。它会在providers 里去把它的这个地址信息写进来。
它写的是它在 providers 下面。把自己的IP跟开启的端口写到 ZooKeeper 上面去了。后面这些就是它的一个调用式时一些参数
20880已经开了。
下图 providers 已经开好。
接下来就 consumers 给它提起来。consumers 提起来,它到时候会在这里创建一个 consumers 的一个节点,然后 consumers 也会把自己的信息写到子节点下面。配方也一样。拷回来了之后,它就可以连上 ZooKeeper 了。
然后 consumers 里面的逻辑就是把加载提起来,然后远程拿到这个方法。已经打印出来了,就说明它调用成功了,
然后这时候看一下再。它这里其实是把 consumer 给它注册进来。下图是consumer 注册的一个信息。
它是通过编码放到 ZooKeeper 上面去的。一个简单的一个 Dubbo 注册订阅的一个微服务就已经已经写好了,就已经演示好了。
3.控台功能
然后大概眼看一下这里的一个它的一些功能。
(1)、可用区
购买的那是一个三节点的一个 ZooKeeper 集群。然后现在它在可用区,是在 ABC三个区的,可用区是强制打散的。任何一个可用区挂掉,都不会影响另外两台机器。机器它大于一半是可以正常提供服务的。
(2)、数据管理
然后数据管理里面,有一个重置数据的一个功能!就是说把一个集群工作压测,再往 ZooKeeper 里面写了大量的一些数据,几百兆,如果要删,就要人上去删,然后这边提供了一个重置数据的功能,就直接去点重置,它就会把数据全部删掉。这也是非常方便的。
(3)、观测
观测。这是集成的 monitoring center,会有大概20多个监控指标。QPS,TPS。它的实时性是非常好的。
比如在这里边不断的那个去写节点。
让它去查。基本上30秒,它的 qps 值就上来了,就显示出来是有变化的。这个是观测,然后这里,还有一些资源监控,下图所示点是刚才购买的时候就已经连续采集数据了。
(4)、参数设置
参数设置,其实就是 rool 点 center 的配置,基本上平时要想要设minsessiontimeout。
基本上点保存并重启。就等着集群在这边滚动升级就好。
演示大概就是到此结束了。
四、ZooKeeper 后续预告
1.功能规划
然后。其它就是主题部后续的一个预告,就说后续专业版出来的,之后还会持续的不断地去迭代跟演进。提供一些有更有价值的一些功能的服务。后面会推出推送轨迹;服务管理;日志审计等高阶的一些功能。
还会对 ZooKeeper 的数据进行多点的一个备份。最大限度的保证数据安全。
现在JK大家都知道它是一个 essay 模式的一个强一致的 Cap 模式,它是。但是为了保证强一致性是牺牲了一定的东西。后面会对 ZooKeeper 进行一个 AP 的模式的一个改造。如果你不是期望那么强一致的场景下。
可以去使用它,然后预计整体的系统性能大概会提升10倍。后续的话还会去发布一个 ZooKeeper 电子书,会有一些日常的一些使用案例跟进。居家实践在里面。能够让你在日常应用中避免去踩一些坑。
2.后续分享
如果想要学习的一些同学可以去关注,然后通过就是 ZooKeeper 去切入到达数据跟微服务的一些领域。