谈谈raft fig8 -- 迷惑的提交条件和选举条件 前言 这篇文章的思路其实在两个月前就已经成型了,但由于实习太累了,一直没来得及写出来.大概一个月前在群里和群友争论fig8的一些问题时,发现很多群友对fig 8是充满了迷惑的.我个人在做lab的时候也对fig 8的问题感到非常头疼,真正大概理解这个问题的来龙去脉(大概?)的时间大概是两个月前复习raft的时候,而此时距离我做完lab已经足足一年有余了......这个问题难于理解,其实raft的作者要至少背一部分锅的--2014年的论文里,对…
这可能是我看过的写的最详细的关于redis 选举的文章了, 原文链接 Raft协议是用来解决分布式系统一致性问题的协议,在很长一段时间,Paxos被认为是解决分布式系统一致性的代名词.但是Paxos难于理解,更难以实现,诸如Google大牛们开发的分布式锁系统Chubby都遭遇了很多坑.Raft协议设计的初衷就是容易实现,保证对于普遍的人群都可以十分舒适容易的去理解.另外,它必须能够让人形成直观的认识,这样系统的构建者才能够在现实中进行必然的扩展. 本文从Redis Sentinel集群选择Le…
   接着上篇博客,今天整理一下关于条件测试和条件语句方面的知识. shell脚本进阶之条件测试    在编写shell脚本时,经常需要对一些条件进行判断,可以使用测试命令test辅助完成测试过程.test命令测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值. 条件测试的基本格式有: 格式1 test EXPRESSION 格式2 [ EXPRESSION ] 注意:使用方括号时,条件两边必须加上空格. 常见的测试类型有 文件测试 数值测试 字符串测试 组合测试 文…
在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和表格展示,而jstree树形列表插件则是用来展示树形列表,以便快速分类查询的,在很多场合下结合它们两者,可以实现较好的用户体验效果.本篇随笔介绍在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理,是指在快速展示数据的时候…
注:附加条件后要加get函数. 1.public function getForDataTable($startTime,$endTime){ return $this->query() ->with('a','b') ->select([ 'table_name.id', 'table_name.monitor_time', ]) ->whereBetween('monitor_time', [$startTime, $endTime])//增加时间条件 ->get();…
yii2:多条件多where条件下碰到between时,between语句如何处理呢? 我有一张表:id,name,telphone,ticket_no,status,create_time等字段, 在出具多条件查询时(当不涉及到时间范围或其他范围),可以用如下语句: if (!empty($params['id'])) { $where_condition['oid'] = $params['id']; } if (!empty($params['post_name'])) { $where_…
岁月不居,时节如流. 时光荏苒,岁月如梭. 前面两段充分体现了博主深厚的文学素养,别和博主争,博主说啥就是啥. 其实,对于大量数据的处理,这几年微软Office做的不单单是2007的时候把Excel的行数从65536提高到了1048576.存得多了不是目的,目的是处理得了,处理得快,处理过程简单,2010的时候微软便引入了Power Query插件用以提升Excel的数据获取.处理能力,2016的时候PowerQuery便成了Excel的标配功能.没错,扯了这么多就是为了说出本系列案例要用Pow…
SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件.KKT条件还有复杂的SMO算法! 相信有很多研究过SVM的小伙伴们为了弄懂它们也是查阅了各种资料,着实费了不少功夫!本文便针对SVM涉及到的这些复杂概念进行总结,希望为大家更好地理解SVM奠定基础(图片来自网络). 一.凸集和凸函数 在讲解凸优化问题之前我们先来了解一下凸集和凸函数的概念 凸集:在点集拓扑学与欧几…
where (条件1)and (条件2 or 条件3 or 条件4) = where (条件1 and 条件2)or (条件1 and 条件3) or (条件1 and 条件4) 结果 是这样的 WHERE ( birthdate between ? and ? and username like ? ) or( birthdate between ? and ? and email like ? ) or( birthdate between ? and ? and phone like ?…
本文主要参考 极客时间-etcd 实战课 GitChat-分布式锁的最佳实践之:基于 Etcd 的分布式锁 谈到分布式协调组件,我们第一个想到的应该是大名鼎鼎的Zookeeper,像我们常用的Kafka(最新版本的Kafka已经抛弃了Zookeeper),Hadoop都用到了Zookeeper,而另外一个分布式协调组件etcd随着k8s的出现,也映入了我们的眼帘.谈到etcd,不得不说说etcd的基石-Raft. 远古时代-单点系统 在远古时代,我们数据都只存在于一个节点,不管是读数据也好,写数…