K3S本地测试环境搭建 迫于家里没有矿,又想尝试在本地搭建一个真实的K8s集群,于是翻出了闲置许久的学生机和目前手上的一台开发机组成了本地K3s集群。 安装参考K3s官网给出的快速安装指南: 主节点1.执行安装指令: 1curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh - 2.获取密钥 2020-09-24 #Golang #k8s #docker
groupcache源码阅读(三)——防止缓存惊群效应 缓存惊群效应惊群效应问题有时被称为缓存击穿,穿透或者雪崩效果。从本质上讲,就像是使系统不堪重负的大量请求。 缓存雪崩:缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。缓存雪崩通常因为缓存服务器宕机、缓存的 key 设置了相同的过期时间等引起。 缓存击穿:一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到 DB ,造成瞬时DB请求量大、压力骤增。 2020-09-12 #Golang
groupcache源码阅读(二)——缓存并发控制 互斥锁——sync.Mutex多个协程(goroutine)同时读写同一个变量,在并发度较高的情况下,会发生冲突。确保一次只有一个协程(goroutine)可以访问该变量以避免冲突,这称之为互斥,互斥锁可以解决这个问题。 sync.Mutex 是一个互斥锁,可以由不同的协程加锁和解锁。 sync.Mutex 是 Go 语言标准库提供的一个互斥锁,当一个协程(goroutine)获得了这个锁的 2020-08-24 源码阅读计划 #Golang
Groupcache源码阅读(一)——LRU淘汰策略实现 这里是Groupcache源码阅读计划的第一步,首先我们熟悉一下这个项目的代码结构。 2020-08-10 源码阅读计划 #Golang #缓存 #LRU
leetcode136-Single Number DescriptionGiven a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it w 2020-06-06 #leetcode
Golang应用部署到Docker Golang作为一门静态语言运行前必须完成编译,而Python这类动态语言只要在解释器环境下就可以直接运行,所以他们的docker部署的最佳实践方式会略有不同。 2020-05-23 #Docker #Golang