Gavin

一半理想,一半生活

服务高可用总结

通过近来工作中的经验与学习,本文总结下自己对服务保障高可用的一些体悟,本次时间有限,找时间需要将每个节点再详细介绍下。 所谓的服务高可用主要是指服务正常运行的时间百分比,业界主要是用 N 个9来衡量。具体体现在服务的接口正确性以及延时上。以一年拿365天计算(8760小时),得到的可用时间...


2019小目标

来didi的三年,blog 有点荒废了,是时候给自己立下 flag 了,接下来一个月总结下自己的所学。 目录:服务高可用总结golang 组件库总结浅析爬虫入门~~ 持续更新中 ~~


位运算的几个常用例子

众所周知,在代码中使用位运算能大幅提高运算效率。现代计算机由于性能提升明显、一些编译器也会对此做优化。但是对于一些功能要求高效率的时候,尤其是底层常用的函数体,位运算是一个比较好的选择。例如:golang hashmap的实现就大幅运用了位运算。接下来简单介绍几个常用的位运算。 判断奇偶...


ZAB 协议详解

ZAB 的分类角色: Leader Follower Observer 读取时:客户端连接 zk 的任一节点,节点直接拿出自己对应的数据返回,这时该节点扮演 Observer 角色;写入时:客户端的任一提交都会由 Leader 去广播给所有的节点,有半数以上的节点写入成功即视为写入成功...


泛解析实例

今天北京的天气能把所有的瘦子都吹走,不过也过昨天的沙尘暴套餐。。。一直对淘宝后台商家设置的二级域名具体的实现细节比较感兴趣,今天研究了一下,发现是利用了泛解析。 首先我们需要设置域名的泛解析,如果你的主机是阿里云主机,参考 -> 这个链接 接下来我们需要设置Nginx,让 Ngi...


自己搭建简易数据统计模块

最近把 blog 从 octopress 切换到了 hexo,又试用了两个 hexo 模板。直到现在的模板也真是够折腾的. 之前一直用 baidu 的数据统计,因为第三方比较臃肿,因此想考虑自己做一个简单的统计模块。 主要的步骤如下: 通过 js 收集统计需要的元数据,然后把元数据打到ngi...


通过Sphinx和WebSocket搭建聊天机器人【二】- Demo

最近好多同学说对前段时间做的Robot很感兴趣,正好也想把它开源一下,今天整理出来,放到github上,欢迎大家来拍砖~ Github地址:gavinjx/Robot Robot的整体工作原理是:浏览器通过websocket连接到Server,不断的把聊天内容通过websocket推送到...


简述ab压测的返回参数

说起压测,使用的比较多的命令就是ab。今天在研究nginx防刷的时候,用ab测试了防刷的效果,顺便写一篇ab返回数据释义帖。 对于ab的参数 我们最常用的就是 -n 和 -c: 参数名称 含义 -n 总共请求数 -c 每秒的并发数(此数不能大于n的次数) 假设我们执行...


Codis-分布式安装和部署

最近在做的一个广告系统涉及到zk和Codis的应用,其中zk扮演了分布式配置管理以及集群管理者的角色,Codis还是分布式缓存的角色。对于zk,有时间的时候再输出一篇文章介绍下它的原理和在分布式集群管理中应用。 对于Codis,相信大家应该不陌生了,它是豌豆荚孵化的一个分布式 Redis 解决...


Nginx的Upstream

之前对于Nginx的upstream理解的有点肤浅,只是把它作为简单的反向代理和负载均衡用,最近在实际项目中发现upstream在用来做负载均衡的时候可以解决单点问题。 简单说,假设现在有两台Server:ServerA和ServerB,默认都是使用80端口,当ServerA不可用或者Ser...