会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
首页
分类
标签
联系
管理
Github
个人博客
暂未分类
Daemon
首页
新随笔
订阅
管理
2024年12月24日
Go channel 原理
摘要: 作用 Go 语言的 channel 是一种 goroutine 之间的通信方式,它可以用来传递数据,也可以用来同步 goroutine 的执行。 chan 是 goroutine 之间的通信桥梁,可以安全地在多个 goroutine 中共享数据。 使用 chan 实现 goroutine 之间的协作
阅读全文
posted @ 2024-12-24 17:48 daemon365
阅读(241)
评论(0)
推荐(0)
2024年12月20日
Go 垃圾回收原理
摘要: *** Go 代码基于 v1.23.0 *** 介绍 golang GC 垃圾回收机制 触发条件 用户调用 runtime.GC 主动触发 Go 程序检测到距上次 GC 内存分配增长超过一定比例时(默认 100%)触发 定时触发 (默认 2 min) 定时触发 代码在 src/runtime/pro
阅读全文
posted @ 2024-12-20 10:40 daemon365
阅读(51)
评论(0)
推荐(0)
2024年12月15日
Go 内存管理
摘要: 操作系统内存管理 操作系统管理内存的存储单元是页(page),在 linux 中一般是 4KB。而且,操作系统还会使用 虚拟内存 来管理内存,在用户程序中,我们看到的内存是不是真实的内存,而是虚拟内存。当访问或者修改内存的时候,操作系统会将虚拟内存映射到真实的内存中。申请内存的组件是 Page Ta
阅读全文
posted @ 2024-12-15 14:56 daemon365
阅读(270)
评论(0)
推荐(1)
2024年12月8日
从源码分析 GMP 调度原理
摘要: 本身涉及到的 go 代码 都是基于 go 1.23.0 版本 传统 OS 线程 线程是 CPU 的最小调度单位,CPU 通过不断切换线程来实现多任务的并发。这会引发一些问题(对于用户角度): 线程的创建和销毁等是昂贵的,因为要不断在用户空间和内核空间切换。 线程的调度是由操作系统负责的,用户无法控制
阅读全文
posted @ 2024-12-08 17:19 daemon365
阅读(201)
评论(0)
推荐(0)
2024年12月7日
kube-apiserver 高可用,keepalived + haproxy
摘要: 为什么要做高可用 在生产环境中,kubernetes 集群中会多多个 master 节点,每个 master 节点上都会部署 kube-apiserver 服务,实现高可用。但是 client 访问 kube-apiserver 时,需要指定 ip 或者域名,这样会出现单点故障。官方推荐的做法是使用
阅读全文
posted @ 2024-12-07 14:18 daemon365
阅读(264)
评论(0)
推荐(1)
2024年6月15日
boltdb 原理
摘要: 简介 介绍及简单使用:https://www.cnblogs.com/daemon365/p/17690167.html 源码地址:https://github.com/etcd-io/bbolt page 因为 boltdb 是要落盘的,所以就要操作文件。为了提高效率,boltdb 会和其他数据库
阅读全文
posted @ 2024-06-15 16:12 daemon365
阅读(215)
评论(0)
推荐(0)
2024年6月10日
etcd watch 实现原理
摘要: 介绍 在 etcd 中,watch 是一个非常重要的特性,它可以让客户端监控 etcd 中的 key 或者一组 key,当 key 发生变化时,etcd 会通知客户端。本文将介绍 etcd watch 的实现原理。 etcdctl watch /test # 当 /test 的值发生变化时,会输出如
阅读全文
posted @ 2024-06-10 14:17 daemon365
阅读(155)
评论(0)
推荐(0)
2024年5月26日
etcd MVCC 存储结构及流程
摘要: 什么是 MVCC MVCC 是 Multi-Version Concurrency Control 的缩写,即多版本并发控制。它是一种并发控制的方法,用于在数据库系统中实现事务的隔离性。MVCC 是一种乐观锁机制,它通过保存数据的多个版本来实现事务的隔禽性。在 etcd 中,MVCC 是用于实现数据
阅读全文
posted @ 2024-05-26 18:01 daemon365
阅读(324)
评论(0)
推荐(0)
2024年5月12日
istio sidecar 工作方式
摘要: istio 是什么 Istio 是一个开放源代码的服务网格,它为基于微服务的应用程序提供了一种统一的方式来连接、保护、监控和管理服务。Istio 主要解决的是在微服务架构中的服务间通信的复杂性问题,它通过提供服务间的负载均衡、服务到服务的认证、监控以及服务的弹性(例如重试、熔断等)来实现。 side
阅读全文
posted @ 2024-05-12 17:41 daemon365
阅读(423)
评论(0)
推荐(1)
2024年5月8日
kube-proxy 流量流转方式
摘要: 简介 kube-proxy 是 Kubernetes 集群中负责服务发现和负载均衡的组件之一。它是一个网络代理,运行在每个节点上, 用于 service 资源的负载均衡。它有两种模式:iptables 和 ipvs。 iptables iptables 是 Linux 系统中的一个用户空间实用程序,
阅读全文
posted @ 2024-05-08 23:20 daemon365
阅读(597)
评论(10)
推荐(0)
下一页
公告