LiZ'blog

不写笔记不读书.

记go中一次http超时引发的事故

记go中一次http超时引发的事故

记一次http超时引发的事故 前言 分析下具体的代码实现 服务设置超时 客户端设置超时 http.client context http.Transport 问题 总结 参考 ...

helm(V3)使用了解

helm(V3)使用了解

helm使用 什么是helm 安装helm Helm V2 & V3 架构设计 配置kube config helm使用 添加仓库 helm安装nginx ...

使用kubespray部署k8s

使用kubespray部署k8s

kubespray部署k8s 准备 需要关闭防火墙 配置hosts 处理镜像 配置文件 运行 通过对应的镜像 运行代码 ...

使用vagrant搭建centos虚拟机

使用vagrant搭建centos虚拟机

vagrant搭建centos 什么是vagrant 如何使用 1、构建本地的目录 2、官方下载对应的镜像文件,官方下载地址 3、导入刚刚下载的镜像(box文件) 4、初始化 5、修改Vagrantfile中的box名称 ...

记一次go中map并发引起的事故

记一次go中map并发引起的事故

错误使用map引发的血案 前言 场景复原 原因 参考 错误使用map引发的血案 前言 最近业务中,同事使用map来接收返回的结果,使用waitGroup来并发的处理执行返回的结果,结果上线之后,直接崩了。 日志大量的数据库缓存池连接失败 {"ecode":-500,"message":"...

go中的panic源码解读

go中发生panic具体是如何处理的呢?

panic源码解读 前言 panic的作用 panic使用场景 看下实现 gopanic gorecover fatalpanic 总结 ...

go中如何控制goroutine的数量

go中如何控制goroutine的数量,goroutine的复用?

控制goroutine数量 前言 控制goroutine的数量 通过channel+sync 使用semaphore 线程池 几个开源的线程池的设计 fasthttp中的协程池实现 ...

go中semaphore源码解读

go中的semaphore是如何实现的?

运行时信号量机制 semaphore 前言 作用是什么 几个主要的方法 如何实现 sudog 缓存 acquireSudog releaseSudog semaphore ...

go中x-sync.semaphore源码解读

go中的x-sync.semaphore是如何实现的?

semaphore semaphore的作用 如何使用 分析下原理 Acquire TryAcquire Release 总结 参考 semaphore semaphore的作...

go中sync.RWMutex源码解读

go中的sync.RWMutex是如何实现的?

读写锁 前言 什么是读写锁 看下实现 读锁 RLock RUnlock 写锁 Lock Unlock 问题要论 ...