{"id":13576972,"url":"https://github.com/rfyiamcool/notes","last_synced_at":"2025-04-08T11:09:07.805Z","repository":{"id":38539049,"uuid":"320133019","full_name":"rfyiamcool/notes","owner":"rfyiamcool","description":"🔥 技术笔记 ( 高性能/分布式/kubernetes/golang/kv引擎等 )","archived":false,"fork":false,"pushed_at":"2024-04-25T01:53:31.000Z","size":707,"stargazers_count":1419,"open_issues_count":8,"forks_count":221,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-04-01T09:31:23.560Z","etag":null,"topics":["badgerdb","go","golang","k8s","kubernetes","rosedb"],"latest_commit_sha":null,"homepage":"https://xiaorui.cc","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rfyiamcool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-10T02:09:21.000Z","updated_at":"2025-04-01T09:17:22.000Z","dependencies_parsed_at":"2025-01-26T05:02:04.183Z","dependency_job_id":"f691bfea-cf70-45e6-ab2b-0e62c271e497","html_url":"https://github.com/rfyiamcool/notes","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfyiamcool%2Fnotes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfyiamcool%2Fnotes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfyiamcool%2Fnotes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfyiamcool%2Fnotes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rfyiamcool","download_url":"https://codeload.github.com/rfyiamcool/notes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829491,"owners_count":21002995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["badgerdb","go","golang","k8s","kubernetes","rosedb"],"created_at":"2024-08-01T15:01:16.446Z","updated_at":"2025-04-08T11:09:07.784Z","avatar_url":"https://github.com/rfyiamcool.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# note\n\n## [更多文章在 xiaorui.cc](https://xiaorui.cc)\n\n## 文章列表\n\n### kubernetes\n\n\u003cimg src=\"https://raw.githubusercontent.com/rfyiamcool/golang_logo/master/png/golang_76.png\" width=\"35%\"\u003e\n\n- [volcano 云原生批量计算平台的 controller 控制器设计实现](https://github.com/rfyiamcool/notes/blob/main/kubernetes_volcano_aigc_1.md)\n\n- [volcano 云原生批量计算平台的 scheduler 调度器设计实现](https://github.com/rfyiamcool/notes/blob/main/kubernetes_volcano_aigc_2.md)\n\n- [源码分析 kubernetes CNI flannel 容器网络插件的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_flannel_network_code.md)\n\n- [源码分析 kubernetes CNI flannel 容器网络插件的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_flannel_network_code.md)\n\n- [源码分析 kubernetes pause 容器的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_pause_code.md)\n\n- [源码分析 kubernetes prometheus 监控系统服务发现实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_prometheus_code.md)\n\n- [源码分析 kubernetes scheduler 核心调度器的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_scheduler_code.md)\n\n- [源码分析 kubernetes scheduler framework 插件的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_scheduler_code.md)\n\n- [源码分析 kubernetes nodeipam controller cidr 地址分配的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_nodeipam_controller_code.md)\n\n- [源码分析头条 kubernetes kubebrain 元数据存储的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/kubebrain_metadata_for_etcd.md)\n\n- [源码分析 kubernetes apisix ingress controller 控制器的实现原理 (一)](https://github.com/rfyiamcool/notes/blob/main/kubernetes_apisix_ingress_controller_code.md)\n\n- [源码分析 kubernetes apisix ingress controller 控制器的实现原理 (二)](https://github.com/rfyiamcool/notes/blob/main/kubernetes_apisix_ingress_controller_crd_cache_code.md)\n\n- [源码分析 kubernetes hpa controller 水平自动扩缩容的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_hpa_controller_code.md)\n\n- [源码分析 kubernetes client-go workqueue 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_client_go_workqueue_code.md)\n\n- [源码分析 kubernetes client-go list-watch 和 informer 机制的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_client_go_informer.md)\n\n- [源码分析 kubernetes client-go sharedIndexInformer 和 SharedInformerFactory 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_client_go_shared_informer.md)\n\n- [源码分析 kubelet pod 生成 coredns resolv.conf 配置原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kubelet_resolv_config.md)\n\n- [源码分析 kubernetes coredns 插件开发和服务发现的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_coredns_code.md)\n\n- [源码分析 kubernetes ingress nginx 动态更新的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_ingress_nginx_controller_dynamic_update_code.md)\n\n- [源码分析 kubernetes ingress nginx controller 控制器的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_ingress_nginx_controller_code.md)\n\n- [源码分析 kubernetes cronjob controller 控制器的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_cronjob_controller_code.md)\n\n- [源码分析 kubernetes leaderelection 选举的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_leader_election_code.md)\n\n- [源码分析 kubernetes daemonset controller 控制器的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_daemonset_controller_code.md)\n\n- [源码分析 kubelet eviction manager 驱逐的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kubelet_eviction_code.md)\n\n- [源码分析 kubernetes kubelet pod 管理的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kubelet_code.md)\n\n- [源码分析 kubernetes kubelet prober 探针的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kubelet_prober_code.md)\n\n- [源码分析 kubernetes kubelet gc 垃圾回收的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kubelet_gc_code.md)\n\n- [源码分析 kubernetes endpoints controller 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kube_endpoints_controller_code.md)\n\n- [源码分析 kubernetes deployment controller 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kube_deployment_controller_code.md)\n\n- [源码分析 kubernetes replicaset controller 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kube_replicaset_controller_code.md)\n\n- [源码分析 kubernetes kube-proxy 的实现原理](https://github.com/rfyiamcool/notes/blob/main/kubernetes_kube_proxy_code.md)\n\n### hashicorp raft\n\n\u003cimg src=\"https://raw.githubusercontent.com/rfyiamcool/notes/main/docs/images/raft-logo.png\" width=\"15%\"\u003e\n\n- [源码分析 hashicorp raft election 选举的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/hashicorp_raft_election_code.md)\n- [源码分析 hashicorp raft replication 日志复制的实现原理](https://github.com/rfyiamcool/notes/blob/main/hashicorp_raft_replication_code.md)\n- [源码分析 hashicorp raft 持久化存储的实现原理](https://github.com/rfyiamcool/notes/blob/main/hashicorp_raft_persistence_code.md)\n- [源码分析 hashicorp raft snapshot 快照的实现原理](https://github.com/rfyiamcool/notes/blob/main/hashicorp_raft_snapshot_code.md)\n\n### golang badger\n\n\u003cimg src=\"https://raw.githubusercontent.com/rfyiamcool/notes/main/docs/images/go-badger-logo.png\" width=\"15%\"\u003e\n\n- [源码分析 golang badger 启动及优雅关闭的流程实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_start_close.md)\n- [源码分析 golang badger transaction SSI 事务的实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_transaction.md)\n- [源码分析 golang badger 存储引擎写数据及持久化的实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_write.md)\n- [源码分析 golang badger 存储引擎读取数据的实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_read.md)\n- [源码分析 golang badger wisckey kv存储分离的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_wisckey_kv.md)\n- [源码分析 golang badger parallel compaction 并行合并的实现原理](https://github.com/rfyiamcool/notes/blob/main/go_badger_compaction.md)\n\n### golang bitcask rosedb\n\n\u003cimg src=\"https://xiaorui-cc.oss-cn-hangzhou.aliyuncs.com/images/202304/202304142127537.png\" width=\"35%\"\u003e\n\n- [源码分析基于 bitcask 的 rosedb KV 存储引擎的设计实现](https://github.com/rfyiamcool/notes/blob/main/rosedb_bitcask_summary.md)\n- [源码分析基于 bitcask 的 rosedb 存储引擎内数据结构设计实现 (一)](https://github.com/rfyiamcool/notes/blob/main/rosedb_bitcask_struct_1.md)\n- [源码分析基于 bitcask 的 rosedb 存储引擎内数据结构设计实现 (二)](https://github.com/rfyiamcool/notes/blob/main/rosedb_bitcask_struct_2.md)\n- [源码分析基于 bitcask 的 rosedb 存储引擎 Compaction GC 合并垃圾回收的实现](https://github.com/rfyiamcool/notes/blob/main/rosedb_bitcask_compaction_gc.md)\n- [源码分析基于 bitcask 的 rosedb 存储引擎初始化和关闭的实现](https://github.com/rfyiamcool/notes/blob/main/rosedb_bitcask_open_close.md)\n\n### traefik\n\n\u003cimg src=\"https://raw.githubusercontent.com/rfyiamcool/golang_logo/master/png/golang_11.png\" width=\"15%\"\u003e\n\n- [traefik 设计实现之 http、http2 和 grpc 代理](https://github.com/rfyiamcool/notes/blob/main/traefik_http_grpc_proxy.md)\n\n- [traefik 设计实现之 tcp 和 udp 代理](https://github.com/rfyiamcool/notes/blob/main/traefik_proxy_tcp_udp.md)\n\n- [traefik 设计实现之配置的动态更新](https://github.com/rfyiamcool/notes/blob/main/traefik_dynamic_provider.md)\n\n### golang 高性能缓存\n\n- [golang ristretto 高性能缓存的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_ristretto_cache.md)\n- [golang bigcache 高性能无 GC 开销的缓存设计实现](https://github.com/rfyiamcool/notes/blob/main/golang_bigcache_cache.md)\n\n### other\n\n\u003cimg src=\"https://raw.githubusercontent.com/rfyiamcool/golang_logo/master/png/golang_53.png\" width=\"35%\"\u003e\n\n- [golang disruptor lockfree queue 高性能无锁队列的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_lockfree_disruptor.md)\n\n- [源码分析 hashicorp go-memdb 存储的事务及索引的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/go-memdb.md)\n\n- [如何分析查看 page cahce 内存中缓存了哪些文件 ( mmap + mincore )?](https://github.com/rfyiamcool/notes/blob/main/which_files_occupy_page_cache_memory.md)\n\n- [优化 lockfree 中 atomic cas spin 忙轮询自旋引发的性能开销](https://github.com/rfyiamcool/notes/blob/main/optimize_atomic_cas_spin.md)\n\n- [golang wal 预写日志的设计实现](https://github.com/rfyiamcool/notes/blob/main/golang_wal_code.md)\n\n- [基于 golang 的消息推送系统 gotify 的设计实现原理](https://github.com/rfyiamcool/notes/blob/main/gotify_code.md)\n\n- [golang deque 高性能双端队列的实现](https://github.com/rfyiamcool/notes/blob/main/golang_deque.md)\n\n- [让人迷糊的socket udp连接问题](https://github.com/rfyiamcool/notes/blob/main/udp_connect_refuse.md)\n\n- [使用 golang 实现进程级别的流量监控](https://github.com/rfyiamcool/notes/blob/main/netflow.md)\n\n- [高并发场景下disk io造成的高时延问题](https://github.com/rfyiamcool/notes/blob/main/reduce_disk_latency.md)\n\n- [分布式消息推送系统的设计与实现](https://github.com/rfyiamcool/notes/blob/main/pusher_design.md)\n\n- [高并发服务遇redis瓶颈引发time-wait事故](https://github.com/rfyiamcool/notes/blob/main/optimize_golang_time_wait.md)\n\n- [git规范的必要性](https://github.com/rfyiamcool/notes/blob/main/git.md)\n\n- [golang redis pipeline管道引发乱序串读](https://github.com/rfyiamcool/notes/blob/main/golang_redis_pipeline_bug.md)\n\n- [kafka的设计与实现](https://github.com/rfyiamcool/notes/blob/main/kafka_design.md)\n\n- [golang http client连接池不复用的问题](https://github.com/rfyiamcool/notes/blob/main/no_reuse_connection_in_httpclient.md)\n\n- [时间不同步造成的trace高时延假象](https://github.com/rfyiamcool/notes/blob/main/ntp_cause_message_latency.md)\n\n- [golang grpc 网关使用连接池突破瓶颈提高 QPS 性能](https://github.com/rfyiamcool/notes/blob/main/grpc_client_pool.md)\n\n- [redis io thread 多线程的设计实现及性能瓶颈](https://github.com/rfyiamcool/notes/blob/main/redis_multi_thread_performance_bottlenecks.md)\n\n- [使用 redis ziplist 大幅度降低优化千万级 kv 的内存占用](https://github.com/rfyiamcool/notes/blob/main/redis_ziplist_reduce_mem.md)\n\n- [golang runtime.stack 加锁引起高时延及阻塞](https://github.com/rfyiamcool/notes/blob/main/golang_runtime_stack.md)\n\n- [golang gomaxprocs 不匹配引起 runtime 调度性能损耗](https://github.com/rfyiamcool/notes/blob/main/golang_runtime_maxprocs.md)\n\n- [go http server感应连接中断及超时控制](https://github.com/rfyiamcool/notes/blob/main/go_http_client_timeout.md)\n\n- [golang net/http超时引发大量fin-wait2](https://github.com/rfyiamcool/notes/blob/main/go_http_client_fin_wait2.md)\n\n- [源码分析 golang grpc graceful shutdown 优雅退出](https://github.com/rfyiamcool/notes/blob/main/grpc_grace_shutdown.md)\n\n- [源码分析 golang http server shutdown 优雅退出的原理](https://github.com/rfyiamcool/notes/blob/main/golang_http_server_graceful.md)\n\n- [优化 golang net/http client 客户端存在的性能瓶颈](https://github.com/rfyiamcool/notes/blob/main/golang_net_http_optimize.md)\n\n- [golang 通过 lockfree 无锁优化 sync.pool 的锁竞争开销](https://github.com/rfyiamcool/notes/blob/main/golang_sync_pool_optimize.md)\n\n- [golang deadlock 死锁检测的实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_deadlock_atuo_detect.md)\n\n- [golang udp 高性能网络优化](https://github.com/rfyiamcool/notes/blob/main/golang_udp_performance.md)\n\n- [源码分析 golang context 的超时及关闭实现](https://github.com/rfyiamcool/notes/blob/main/golang_context_timeout_close.md)\n\n- [golang 编译期优化 defer 调用性能的实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_defer_optimize.md)\n\n- [golang runtime preempt scheduler 基于信号的抢占式调度的实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_runtime_preempt.md)\n\n- [golang 基于 netpoll 优化 timer 定时器实现原理](https://github.com/rfyiamcool/notes/blob/main/golang_netpoll_timer.md)\n\n- [golang cgo 阻塞调用引发系统线程数暴增](https://github.com/rfyiamcool/notes/blob/main/golang_cgo_pmg.md)\n\n- [disk io 阻塞引发 golang 线程数暴涨的问题](https://github.com/rfyiamcool/notes/blob/main/golang_disk_io_block.md)\n\n- [golang gctrace 引起 runtime 调度阻塞](https://github.com/rfyiamcool/notes/blob/main/golang_gctrace_block.md)\n\n- [golang在mac m1下的性能表现](https://github.com/rfyiamcool/notes/blob/main/mac_m1_golang_benchmark.md)\n\n- [istio envoy 的性能测试](https://github.com/rfyiamcool/notes/blob/main/istio_sidecar_performance.md)\n\n- [对比 redis lua和 modules 模块的性能损耗](https://github.com/rfyiamcool/notes/blob/main/redis_lua_vs_module.md)\n\n- [为 golang GRPC 配置 SAN 证书](https://github.com/rfyiamcool/notes/blob/main/create_san_tls.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfyiamcool%2Fnotes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frfyiamcool%2Fnotes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfyiamcool%2Fnotes/lists"}