发表于: 2018-10-19 21:34:53

1 310


今天完成的事情:


1.继续java的基础知识树状图。

2.学习dubbo zookeeper。


1.继续java的基础知识树状图。


2.学习dubbo zookeeper。


zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待。所以可以通过zookeeper集群解决。


一、为什么需要zookeeper呢?

   大部分分布式应用需要一 个主控、协调器或者控制器来管理物理分布的子进程。目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用、伸 缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用。所以说zookeeper是分布式应用的协作服务。


二、zookeeper的工作原理

   核心原理是原子广播,这个机制保证了各个server之间的同步,实现这个机制的协议叫做Zab协议,它有两种模式:恢复和广播模式。

   当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,恢复模式就结束了。

    一旦zookeeper内部同步好了后,就可以开始广播信息了,这时候当一个server加入zookeeper服务中,它会在恢复模式下启动,并且同步状态,同步结束后它也参与广播消息。


、单机模式安装zookeeper

1,下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载后解压即可

,双击zkServer.cmd启动注册中心服务。

zkServer.sh【Linux】或zkServer.cmd【Windows】

2,在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper的配置文件在 conf 目录下,这个目录下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是将zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper在启动时会找这个文件作为默认配置文件。下面详细介绍一下,这个配置文件中各个配置项的意义。

 •tickTime:这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

   •dataDir:顾名思义就是 Zookeeper保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

   •dataLogDir:顾名思义就是Zookeeper 保存日志文件的目录

   •clientPort:这个端口就是客户端连接Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求

 

配置好后,zookeeper会监听本机的2181端口。

当这些配置项配置好后,你现在就可以启动 Zookeeper 了,启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat – ano 命令查看是否有你配置的 clientPort 端口号在监听服务。



明天计划的事情:


继续学习dubbo zookeeper。


遇到的问题:


启动zookeeper的服务端时:

目前还未解决。


收获:


大概学习了一下dubbo zookeeper。


任务进度:


进度:任务10 

任务开始时间:10.12

预计复盘评审时间:11.12

是否延期:无法确定


返回列表 返回列表
评论

    分享到