zookeeper源码笔记速记,方便面试和会议

第一:各个模块功能:

1、服务端

  • looking状态

    开始为looking,然后进行选举,选举leader,follower,observe 三个角色信息
    1、选举端口UDP, 每服务bind一定端口,发送vote,进行选举
    leader:

      2、服务器之间的沟通(leader,follower,observer),同步数据信息各个服务器中同步分3个点:diff,snap,trunc
      3、客户端进行端口连接sock tcp使用 ,
    
  • follower,observer

  1. 连接来源:
  • 1、客户端NIOServerCnxnFactory

  • a、读操作:
    如果是读取操作之间从本身获取,然后从request里面获取cn(socket)信息然后返回给客户端;

  • b、写操作,greate等,
    连接leader,然后提处理事务,等待请求信息,中间操作步骤:首先请求leader,leader,发送提议sal给follower,follower接受提议发送给ack给服务端,然后服务端返回commit,给follower,follower接受到进行持久化,其中有一流程,先处理commit日志,然后等待请求,请求完成后台notify,最后进行持久化
    2、与leader之间交互:同步数据,同步数据包括快照snap和diff,TRUNC

2、客户端
直接连接服务端端口

第二:

  • leader处理数据链路setupRequestProcessors:

    第一阶段:
    CommitProcessor=CommitProcessor.next=ToBeAppliedRequestProcessor= ToBeAppliedRequestProcessor. next=FinalRequestProcessor(发送给客户端)
    第二阶段
    PrepRequestProcessor(run 方法从submittedRequests中获取信息)
    =PrepRequestProcessor.next=ProposalRequestProcessor(发起提议调用next,。放到queueRequest中)
    =ProposalRequestProcessor.next=CommitProcessor (存放到queuedRequests)

follower处理:

FollowerRequestProcessor=firstProcessor.next=commitProcessor=commitProcessor.next=FinalRequestProcessor
commitprocessor.start
FollowerRequestProcessor.start
SyncRequestProcessor.start

observer处理:
ObserverRequestProcessor=ObserverRequestProcessor.next=CommitProcessor=CommitProcessor.next=FinalRequestProcessor
CommitProcessor.start (处理请求放到queueRequest中,如果是写请求发送给leader)
ObserverRequestProcessor.start
如果syncRequestProcessorEnabled是true那么observer进行数据同步syncRequestProcessorEnabled.start

ReadOnly处理:

ReadOnlyRequestProcessor=ReadOnlyRequestProcessor.next=PrepRequestProcessor(发到submittedRequests)=PrepRequestProcessor.next=FinalRequestProcessor

PrepRequestProcessor.start(run:方法读取submittedRequests消息)
ReadOnlyRequestProcessor.start(处理消息放到submittedRequests)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EV-Meeting远生网络视频教学系统为纯软件高清视频会议产品。用户只需普通的PC机,麦克风,摄像头就能够轻松在互联网上召开网络会议。 一、功能介绍 1、视频功能:基于C/S架构,采用H264压缩算法,支持混音,可以多人同时说话,具有高清晰的图像。在具有独享 384K或以上带宽时,能为用户提供稳定的清晰视频图像;具备多种显示模式,双流合一功能;在自由模式下可以相互自由察看视频。32路数多种显示,最低带宽支持56K;不仅可以遥控本机的摄像头,并且主持人还可以远程遥控任意一会场的摄像头,可远程对摄像机镜头进行光圈、焦距、景深等控制;可以对云台进行全方位的控制。 2、音频功能:多人混音的音频效果。用户在开会过程中对用户的混音路数无限制,所有与会者可以同时听见多个发言人的声音,让沟通更加流畅。并且在并发的各会议室内都可以进行多路混音,并且各会议室之间相互不会产生干扰。 3、数据功能:白板功能支持使用手写笔直接在白纸上进行书写输入,其他所有会议成员可以在白板上同步接收并进行编辑修改。在文字讨论区,会议成员可以与全体人员或某个人进行文字交谈,当选择对一个人发送信息时,其他会议成员则不能看到。系统拥有丰富的数据共享功能,支持电子白板、文档共享、Web共享、协同浏览、桌面共享、文字讨论、资料分发等功能。 4、文字聊天:对全体或某人的文本聊天。支持表情和字体发送功能 5、电子白板:矢量表示,可任意编辑,支持doc、ppt、html以及图片功能。 6、文档共享:文件上传、下载,文档同步浏览。 7、同步浏览:浏览相同的网站页面。 8. 举手发言:每个会议人员可以举手申请发言和操作权,其权利由主持人决定。 9. 屏幕共享:将本机上的屏幕图像和鼠标操作等共享到其他会议人员的桌面上。 10、同步录制:同步录制视频、音频,计算机动态屏幕,即可将主讲人的图像、声音和所讲解的课件、讲稿、鼠标操作轨迹以及电子白板上书写的内容等计算机屏幕上所显示的内容同步录制到一个文件中。 11、实时直播:可通过单播或多播方式将现场的视频、音频、计算机动态屏幕在网络上进行实时直播,用户可通过系统客户端软件同步接收到现场的视频、音频和计算机动态屏幕信息。 12、支持NAT穿透技术,可以在任何复杂网络下运行。 13、演讲板:支持Office办公文件(ppt、doc、xls、txt等格式)、视频文件(mpg、mgeg、mp3、avi等格式)、Flash文件(swf格式)、图片文件等演示。 14、其他功能:会议投票功能。 二、系统要求 1、操作系统:Windows xp/2003/98 2、网络环境:在Internet和局域网中均可运行,最低带宽56K。 源码演示 http://video.sina.com.cn/v/b/111851167-2702263835.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值