随笔分类 -  go

Golang 限流器的使用和实现
摘要:Golang 限流器的使用和实现 golang 引用他人文章 发布于 6月28日 限流器是服务中非常重要的一个组件,在网关设计、微服务、以及普通的后台应用中都比较常见。它可以限制访问服务的频次和速率,防止服务过载,被刷爆。 限流器的算法比较多,常见的比如令牌桶算法、漏斗算法、信号量等。本文主要介绍基 阅读全文

posted @ 2020-06-29 16:10 _Jee 阅读(1681) 评论(0) 推荐(0)

为何要做逃逸分析
摘要:逃逸分析是golang编译器分析一个对象到底应该放到堆内存上,还是栈内存上(引用了他人的文章) 为何要做逃逸分析 因为对一个程序来说,使用栈内存还是堆内存他们的效率差别很大。 栈内存: 操作系统管理内存的分配和释放,不用golang的垃圾回收操心 内存的存储结构类似于数据结构中的栈,读写位置都在栈顶 阅读全文

posted @ 2020-06-16 17:34 _Jee 阅读(597) 评论(0) 推荐(0)

golang之JWT实现
摘要:什么是JSON Web Token?(引用了大牛的文章) JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RS 阅读全文

posted @ 2020-06-01 08:59 _Jee 阅读(3092) 评论(0) 推荐(0)

基于Docker的Golang交叉编译
摘要:基于Docker的Golang交叉编译 引用了一篇不错的文章 前言 首先Go本身在交叉编译方法十分强大,这里就不再赘述了,有需要的同学可以参考《Golang交叉编译各个平台的二进制文件》。虽然自带的交叉编译已足够强大,并且能满足大部分的使用场景,但还是有一个坑人的地方就是当源代码中包含CGO代码时, 阅读全文

posted @ 2020-05-28 14:32 _Jee 阅读(1832) 评论(0) 推荐(0)

GO MODULE解决方案
摘要:from now on, use gos instead of go: go get => gos get go build => gos build go run => gos run go ... => gos ... 复制代码 gos is compatible with all go com 阅读全文

posted @ 2020-01-02 16:20 _Jee 阅读(452) 评论(0) 推荐(0)

golang 优雅的重启
只有注册用户登录后才能阅读该文。

posted @ 2019-12-18 15:23 _Jee 阅读(9) 评论(0) 推荐(0)

golang服务开发平滑升级之优雅重启
摘要:转载不错的文档 经典平滑升级方案 服务器开发运维中,平滑升级是一个老生常谈的话题。拿一个http server来说,最常见的方案就是在http server前面加挂一个lvs负载,通过健康检查接口决定负载的导入与摘除。具体来说就是http server 提供一个/status 接口,服务器返回一个s 阅读全文

posted @ 2019-12-13 17:39 _Jee 阅读(648) 评论(0) 推荐(0)

go 内存详解
只有注册用户登录后才能阅读该文。

posted @ 2019-11-22 16:35 _Jee 阅读(6) 评论(0) 推荐(0)

go model 问题
摘要: 阅读全文

posted @ 2019-11-20 15:38 _Jee 阅读(299) 评论(0) 推荐(0)

glide 命令
摘要:替换 阅读全文

posted @ 2019-11-15 13:48 _Jee 阅读(156) 评论(0) 推荐(0)

go unsafe.Pointer
摘要:unsafe.Pointer 这个类型比较重要,它是实现定位和读写的内存的基础,Go runtime大量使用它。官方文档对该类型有四个重要描述: 大多数指针类型会写成T,表示是“一个指向T类型变量的指针”。unsafe.Pointer是特别定义的一种指针类型(译注:类似C语言中的void类型的指针) 阅读全文

posted @ 2019-11-12 17:36 _Jee 阅读(974) 评论(0) 推荐(0)

Golang限流器time/rate使用介绍
摘要:本主题为系列文章,分上下两篇。本文主要介绍time/rate的具体使用方法,另外一篇文章《Golang限流器time/rate实现剖析》则着重介绍其内部实现原理。 限流器是后台服务中的非常重要的组件,可以用来限制请求速率,保护服务,以免服务过载。限流器的实现方法有很多种,例如滑动窗口法、Token 阅读全文

posted @ 2019-11-12 17:34 _Jee 阅读(4676) 评论(0) 推荐(2)

Go netpoll I/O 多路复用构建原生网络模型之源码深度解析
摘要:Go netpoll I/O 多路复用构建原生网络模型之源码深度解析(转载) 导言 Go 基于 I/O multiplexing 和 goroutine 构建了一个简洁而高性能的原生网络模型(基于 Go 的I/O 多路复用 netpoll),提供了 goroutine-per-connection  阅读全文

posted @ 2019-11-10 17:29 _Jee 阅读(1252) 评论(0) 推荐(0)

几种部署Goku API Gateway的方式,最快一分钟可使用上为网关
摘要:什么是Goku API Gateway? (转载至https://segmentfault.com/a/1190000020948193) Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开发的运行在企业系统服务边界上的微服务网关。当您构建网站、App、IO 阅读全文

posted @ 2019-11-09 20:05 _Jee 阅读(1007) 评论(0) 推荐(0)

容器中某Go服务GC停顿经常超过100ms排查
摘要:容器中某Go服务GC停顿经常超过100ms排查(转载他人文档) GC停顿经常超过100ms 现象 有同事反馈说, 最近开始试用公司的k8s, 部署在docker里的go进程有问题, 接口耗时很长, 而且还有超时. 逻辑很简单, 只是调用了kv存储, kv存储一般响应时间<5ms, 而且量很少, 小于 阅读全文

posted @ 2019-11-09 19:46 _Jee 阅读(4596) 评论(0) 推荐(1)

Golang 贪婪线程占用临界区过多问题
摘要:这是一个创建于 2019-06-07 01:32:39 的文章,其中的信息可能已经有所发展或是发生改变。 package main import ( "fmt" "sync" "time" ) var wg sync.WaitGroup var sharedLock sync.Mutex const 阅读全文

posted @ 2019-11-09 12:13 _Jee 阅读(330) 评论(0) 推荐(0)

golang io包的实现
只有注册用户登录后才能阅读该文。

posted @ 2019-11-02 19:12 _Jee 阅读(5) 评论(0) 推荐(0)

golang bytes.buffer
摘要:下面是输出内容 我们从缓冲区读取了7个字节到p1字节切片里 那么buffer1的属性off(计数器)会向后挪移7个字节 长度也会减去7个字节 我们看下输出结果 7 bytes were read. (call Read)The length of buffer: 32The capacity of 阅读全文

posted @ 2019-11-02 13:42 _Jee 阅读(549) 评论(0) 推荐(0)

golang strings.NewReader
摘要:为什么说strings.Reader类型的值可以高效地读取字符串 与strings.Builder类型恰恰相反,strings.Reader类型是为了高效读取字符串而存在的。后者的高效主要体现在它对字符串的读取机制上,它封装了很多用于在string值上读取内容的最佳实践。 strings.Reade 阅读全文

posted @ 2019-11-01 08:16 _Jee 阅读(4740) 评论(0) 推荐(0)

golang strings.Builder
只有注册用户登录后才能阅读该文。

posted @ 2019-10-31 14:49 _Jee 阅读(8) 评论(0) 推荐(0)

导航