zhojhon的博客

只有永远不满足于现状,才有持续的动力改进, 优化,进步.

自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gitlab CI/CD

Gitlab CI/CD1.概述Gitlab是常用的开源git代码管理工具之一,随着发展也推出了ci/cd解决方案.顾名思义具体来说ci/cd主要完成以下两个工作.ci(持续构建)代码提交后触发自动化的单元测试,代码预编译,构建镜像,上传镜像等.cd(持续发布)持续发布则指将构建好的程序发布到各种...

2018-02-24 11:32:16

阅读数 5634

评论数 0

使用iptables实现etcd集群白名单功能

使用iptables实现etcd集群白名单功能1.概述由于etcd自身不提供ip白名单功能,当在生产环境运行etcd,且当该etcd简体监听外网时,应该通过ip白名单来允许能够访问的外网ip,拒绝非法的ip访问,从而提高生成环境etcd集群的安全性,这里将使用iptables来实现该功能。2.ip...

2017-09-20 11:58:20

阅读数 707

评论数 0

信封加密存储秘钥

众所周知,在业务使用的过程中我们往往需要使用秘钥进行安全验证,通常一个秘钥往往是一个合法身份的凭证,这里就如孙悟空和六耳猕猴一样,两个人都声称自己叫孙悟空,这个时候验证谁是真正悟空,往往需要让两个悟空回答一些只有真的悟空才能知道的答案,这个只有真的悟空才能回答出来的答案就等同于秘钥。 这里就会衍...

2017-07-28 17:59:37

阅读数 780

评论数 2

golang程序版本管理

版本管理主要用于对运行程序的版本追踪,从而可以管理线上服务的运行版本,避免各个版本的服务程序混淆.这里通常的做法为在程序中埋入版本标志,同时该版本号会对应到git上的tag或release版本.从而对线上服务更改有一个更全面的信息说明.这里将介绍基于GNU风格一种版本命名方式.1. 版本号命名格式...

2017-05-11 18:28:26

阅读数 1498

评论数 0

golang 进程出现too many open files的排查过程

1. 现象 服务的cpu跑满(golang实现), 并大量报too many open files错误.服务使用systemd来运行,部署在阿里ecs上. 2.分析 从日志来看,cpu的上升主要为到达文件数限制引起的,但之前已经更改过系统的文件数及所有用户的文件数,按道理是不应该...

2016-09-21 15:17:34

阅读数 5733

评论数 1

etcd 集群搭建及常用场景分析

概述 etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点。 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制 高性能...

2016-08-31 16:19:51

阅读数 38721

评论数 0

一致性hash算法原理及golang实现

概述 这里存在一种场景, 当一个服务由多个服务器组共同提供时, key应该路由到哪一个服务.这里假如采用最通用的方式key%N(N为服务器数目), 这里乍一看没什么问题, 但是当服务器数目发送增加或减少时, 分配方式则变为key%(N+1)或key%(N-1).这里将会有大量的key失效迁移,如...

2016-08-15 23:56:17

阅读数 5030

评论数 0

redis集群搭建及分析

redis提供了无中心化的模式来提供对key的shading, 提供数据存储的master节点与master节点之间是对等的, master节点与master节点之间通过gossip协议进行通信,以实现集群选主,失效转移, 触发数据迁移等操作. 1. redis 集群搭建 1.1 配置项说明...

2016-08-11 19:30:36

阅读数 2112

评论数 2

Go 语言中Select与for结合使用时可能会遇到的坑

作为一个刚接触go编程的新鸟,是不是被它的某些新特性给吓到,尤其是之前已经习惯了C++的编程。对于Go语言,网上褒贬不一,有极力推崇的,如七牛的许式伟,其对go的评价极高,并预言Go的市场占有率会一直逐步上升,取代java,成为第一。也有极力贬低的,他们一般会网络上有各种博客帖子,详细的剖析了go...

2015-04-03 09:01:52

阅读数 1518

评论数 0

QT实现头像图片剪切框

近期在做一个qt项目,在用户选择头像图片后,需要将图片载入,并对其进行用户自定义裁剪。通过研究参照各流行软件的裁剪方式后,发现qq实现的裁剪比较好看,于是,我想那就做一个和qq相似的吧。先放一张qq实现的效果,然后最后再放我实现的效果。 1. 怎样去实现裁剪 对于一张载入的图片,要实现用户自定...

2015-02-28 11:30:40

阅读数 4230

评论数 1

动态规划—最长子序列问题

1.   问题引出 最长字段匹配问题归结如下: 假设存在两个字符段: A={'a', 'b', 'c','b', 'd', 'a', 'b'}; B= {'b', 'd','c', 'a', 'b', 'a'}; 则A、B两个字段的匹配即为A、B的公共子序列,如{‘a’}、{‘b’}、{...

2014-05-10 10:51:25

阅读数 829

评论数 0

提示
确定要删除当前文章?
取消 删除