摘要: 前言 Golang自2009年发布第一个版本,2012年发布1.0版本。在这10年的时间里,不断有开发者加入Golang的阵营中,不断共建Golang生态。其中比较有代表性的Golang编写软件作品是Docker和Kubernetes。从目前Golang的发展时间和社区活跃度来看,Golang无疑是 阅读全文
posted @ 2019-07-16 18:05 我是码客 阅读(11475) 评论(4) 推荐(4) 编辑
摘要: 前言 Linux下的top命令我相信大家都用过,自从我接触Linux以来就一直用top查看进程的CPU和MEM排行榜。但是top命令的其他输出结果我都没有了解,这些指标都代表什么呢,什么情况下需要关注呢?以及top命令输出结果的来源数据是什么呢,又是怎么一个计算原理呢? 演示环境 top命令 top 阅读全文
posted @ 2019-07-11 12:43 我是码客 阅读(22650) 评论(1) 推荐(3) 编辑
摘要: 前言 1990年互联网诞生之初,就已经开始用超文本传输协议HTTP传输数据,这也是为什么现在网页地址都是以http开头的原因。但是HTTP协议传输数据是明文传输,任意的人抓包就能看到传输的数据,这显然不安全。1994年,Netscape公司用加密协议增加了HTTP,开始在HTTP的基础上加入SSL( 阅读全文
posted @ 2019-07-05 21:15 我是码客 阅读(8692) 评论(0) 推荐(1) 编辑
摘要: 前言 并发(并行)一致都是编程语言的核心主题,不同于其他语言,例如C/C++语言用户序自行借助pthread创建线程,Golang天然就给出了并发解决方案:goroutine。 Goroutine 写过Golang程序的朋友都知道,go func就可以启动一个goroutine,但是goroutin 阅读全文
posted @ 2019-07-03 21:18 我是码客 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 前言 ZooKeeper是一个提供高可用,一致性,高性能的保证读写顺序的存储系统。ZAB协议为ZooKeeper专门设计的一种支持数据一致性的原子广播协议。 演示环境 安装 配置 这里演示的是在同一台机器部署3个ZooKeeper进程的伪集群。 tickTime ZooKeeper中使用的基本时间单 阅读全文
posted @ 2019-07-02 20:55 我是码客 阅读(1759) 评论(0) 推荐(0) 编辑
摘要: 前言 Redis是一个开源的内存k-v数据库,同时也可用作缓存,消息队列。支持多种数据类型,如字符串,列表,字典,集合,有序集合。 演示环境 安装 配置 Redis 默认用过的配置文件路径位于/usr/local/etc/redis.conf,下面将通过修改该配置文件影响Redis的行为。 Redi 阅读全文
posted @ 2019-07-01 20:03 我是码客 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 前言 上一篇文章中已经给大家整体的介绍了开源监控系统Prometheus,其中Exporter作为整个系统的Agent端,通过HTTP接口暴露需要监控的数据。那么如何将用户指标通过Exporter的形式暴露出来呢?比如说在线,请求失败数,异常请求等指标可以通过Exporter的形式暴露出来,从而基于 阅读全文
posted @ 2019-06-25 14:05 我是码客 阅读(5496) 评论(0) 推荐(0) 编辑
摘要: 前言 Prometheus是CNCF的一个开源项目,Google BorgMon监控系统的开源版本,是一个系统和服务的监控系统。周期性采集metrics指标,匹配规则和展示结果,以及触发某些条件的告警发送。 特点 Prometheus主要区别于其他监控系统的特点是: 多维度数据模型(时序数据是由指标 阅读全文
posted @ 2019-06-22 15:42 我是码客 阅读(2744) 评论(1) 推荐(1) 编辑
摘要: 前言 go test 上篇 给大家介绍了golang自带的测试框架,包括单元测试和性能测试。但是在实际生产中测试经常会遇到一些网络或者依赖的第三方系统接口,运行测试用例的时候希望忽略这些接口的实际依赖,聚焦在具体业务逻辑代码,这就需要模拟这些接口的行为,也就是我今天介绍给大家的golang/mock 阅读全文
posted @ 2019-06-21 17:01 我是码客 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 前言 Go语言本身集成了轻量级的测试框架,由go test命令和testing包组成。包含单元测试和压力测试,是保证我们编写健壮Golang程序的有效工具。 演示环境 示例 老规矩,我会用一个简单的示例演示go test的用法,让大家有一个直观的感受。 my.go文件内容: my_test.go文件 阅读全文
posted @ 2019-06-20 18:05 我是码客 阅读(1486) 评论(0) 推荐(0) 编辑