欢迎来到天天文库
浏览记录
ID:37324552
大小:346.18 KB
页数:20页
时间:2019-05-21
《Go在分布式系统开发中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Aboutme姓名:刘奇微博:@goroutineThemostthingsididiferr!=nil{returnerr}ThemostthingsididreduceallocationsobjectpoolbufreusedeferSetFinalizerReusegoroutineCpurelatedReducesyscallNoSetReadDeadlineNoSetWriteDeadlinePipelineParallelDistributedcomponentscoordinator(gonna
2、talkabout)storagerpcmessagequeuecache…...Distributedconponentscoordinator,纠结么zookeeperetcdhowtouseetcdlikezookeeper:)zookeepervsetcd起因以及一些差异notgonnacovereverydetailszookeepervsetcd起因:reborndb是一个分布式redis集群框架支持透明切换引擎为了同时支持zookeeper和etcdzookeepervsetcdzookeeper
3、:sessionetcd:statelesszookeepervsetcd文件和目录的差异zookeeper:目录可以带valueetcd:目录就是纯粹的目录zookeepervsetcd临时节点zookeeper:直接创建etcd:自己去更新ttl,用goroutine不断去更新如果watch了临时节点:这样又会不断产生新的事件zookeepervsetcdzookeeper:getwatchetcd:watchafterindex?howtochooseindex?whatifindexisfarfromc
4、urrentraftindex?outofdatezookeepervsetcdRebornDB的getwatch实现让client持有状态zookeepervsetcdRebornDB临时节点实现CreatewithTTLUpdateTTLFilterTTLupdateeventwhendowatchetcdtypeetcdImplstruct{sync.Mutex…...indexMapmap[string]uint64//path-->index}etcdtozookeepereventswitchres
5、p.Action{case"set":e.Type=zk.EventNodeDataChangedcase"delete":e.Type=zk.EventNodeDeletedcase"update":e.Type=zk.EventNodeDataChangedcase"create":e.Type=zk.EventNodeCreatedcase"expire":e.Type=zk.EventNotWatching}AboutCounterNeediteverywhereAboutTestingIt’shard
6、todotestindistributedsystemMonkeytestSearching…….AboutRPC太多的轮子了希望有一个一统天下grpcThanks
此文档下载收益归作者所有