poslua

一个程序员的自我涂鸦
25 篇文章
13 人订阅

全部文章

poslua

聊一聊字符串内部化

字符串作为一种不可变值类型,在多数的语言里,其底层基本都是个只读的字节数组:一旦被创建,则不可被改写。正是因为其只读特性,如果有大量相同的字符串需要处理,那么在...

9420
poslua

线上一次大量 CLOSE_WAIT 复盘

最近,我在压测线上的一个长连接服务时,发现服务端出现大量的 CLOSE_WAIT 状态长时间不会释放,并且伴随着 goroutine 暴增,这里做个复盘,介绍下...

6120
poslua

Go 1.12 关于内存释放的一个改进

一直以来 go 的 runtime 在释放内存返回到内核时,在 Linux 上使用的是 MADV_DONTNEED,虽然效率比较低,但是会让 RSS(resid...

6810
poslua

Golang 是否有必要内存对齐?

有些同学可能不知道,struct 中的字段顺序不同,内存占用也有可能会相差很大。比如:

8120
poslua

Golang RabbitMQ 故障排查一例

作为一个常识,当我们在处理一些长连接的业务时,客户端往往需要负责断线重连。比如,在我们的一个系统中,是这么处理 RabbitMQ 的断线重连的:

6910
poslua

Goroutine 泄露排查

我们在发布一个 go 应用时,默认都会启用两个 http handler: 一个是 pprof,方便线上动态追踪问题;另外一个是 prometheus 的 me...

5420
poslua

谈谈 Golang 中的 Data Race

我在接手其他同事的 golang 项目时,一般都会习惯性的做一个竞态检测。有时总会得到一些“惊喜”,比如像下面这段代码:

7330
poslua

说下 Kong 的非主流 Service Mesh 之路

在 0.13.X 版本之前,Kong 的核心域模型名为 API Object Routes,从 0.13.X 版本开始,Kong 引入了 Service/Rou...

7820
poslua

Golang Dep 依赖冲突处理

对于 Golang 应用内存堆栈的监控,基本都是读取 runtime.MemStats,然后发往一些 TSDB 进行可视化展示。代码一般都是这样的:

8020
poslua

Kong 0.12.3 的一处内存泄漏分析

Kong 0.12.3 是最后一个以 API 形式组织接口的版本,后续的版本中 Kong 新增了 Service 和 Route 的概念,对于插件的应用规则更加...

4510
poslua

OpenResty Con 2017 中的一个彩蛋

上周的「Ant Design」圣诞节彩蛋事件确实炸开了锅,我相信加彩蛋的初衷是好的,只是这次玩过了火。最后搞得比较重,作者不得不出来发布道歉。其实在开源软件中,...

5710
poslua

IPv4 也是可以访问 IPv6 服务的

对于 Golang 的 net.Listen() 函数,如果你不强行指定 IPv4 或 IPv6 的话,在双栈系统上默认只会监听 IPv6 地址。比如,用 Go...

10630
poslua

If-None-Match 在刷票软件中的应用

优化系统的极限就是不发送任何请求,这一点通常使用缓存来实现。例如,在一些流量非常大 WEB 的系统中,我们通常会在源站前面启用 CDN。这样用户直接访问的是 C...

4810
poslua

Golang -ldflags 的一个技巧

我在开发 go 的项目时,习惯上会在编译后的二进制文件中注入 git 等版本信息后再发布。一直以来都是这么做的:

5520
poslua

Kong 插件开发指南

Kong 的插件使用了一个叫 Classic 的 class 机制。所有的插件都是从 base_plugin.lua 基类上继承而来。base_plugin.l...

7920
poslua

Kong 的事件和缓存

Kong 从 0.11.0 版本开始节点之间的消息通信改为了数据库轮训机制(原先是通过 serf 实现的),通过最终一致性实现了节点的无状态,任何时候节点只需连...

5620
poslua

也谈 ngx.ctx 继承问题

在前一阵子的 OpenResty Con 2018 上,来自又拍云的 @tokers 分享了他们对 ngx.ctx 的 hack,以确保在发生内部跳转后 ngx...

6430
poslua

TCP 常见故障排查

TCP 协议相当复杂,并充斥着各种细节。然而 TCP 协议又是如此重要的一个协议,引领风骚三十年,可以说是互联网的奇迹。这些细节正是 TCP 协议成功的原因,并...

6130
poslua

Kong 插件非官方 FAQ

经过了前面对 Kong 插件机制的分析,这里来整理一下非官方 FAQ 以加深理解,以下 FAQ 针对于 Kong 0.12.3 版本。

6930
poslua

Kong 插件加载机制源码解析(下)

这个阶段就比较重要了,首先要执行的就是 core.access.before(ctx) 这个 hook,主要是完成路由的匹配。不过匹配前需要判断当前路由是否是最...

6520

扫码关注云+社区

领取腾讯云代金券