主题
参考资料索引
以下按文章收录正文中的原始参考链接。观点与来源的具体对应、版本和适用限制,请以文章正文及脚注为准。
01-01 Go 类型系统
- https://go.dev/ref/spec#Representation_of_values
- https://go.dev/ref/spec#Assignment_statements
- https://go.dev/ref/spec#Calls
- https://go.dev/ref/spec#Boolean_types
- https://go.dev/ref/spec#Numeric_types
- https://go.dev/ref/spec#String_types
- https://go.dev/ref/spec#Length_and_capacity
- https://pkg.go.dev/unsafe#Pointer
- https://go.dev/ref/spec#Constants
- https://go.dev/ref/spec#Assignability
- https://go.dev/ref/spec#Conversions
- https://go.dev/ref/spec#Representability
- https://go.dev/ref/spec#Type_declarations
- https://go.dev/ref/spec#Type_identity
- https://go.dev/ref/spec#The_zero_value
- https://go.dev/ref/spec#Array_types
- https://go.dev/ref/spec#Slice_types
- https://go.dev/blog/slices-intro
- https://go.dev/dl/go1.27.2.linux-amd64.tar.gz
- https://go.dev/blog/slices
- https://go.dev/ref/spec#Index_expressions
- https://go.dev/ref/spec#Slice_expressions
- https://go.dev/ref/spec#Making_slices_maps_and_channels
- https://go.dev/ref/spec#Appending_and_copying_slices
- https://pkg.go.dev/slices#Clone
- https://go.dev/ref/spec#Map_types
- https://go.dev/ref/spec#Deletion_of_map_elements
- https://go.dev/ref/spec#Clear
- https://go.dev/blog/maps
- https://pkg.go.dev/maps#Clone
- https://go.dev/ref/spec#For_range
- https://pkg.go.dev/maps#Keys
- https://pkg.go.dev/slices#Sorted
- https://go.dev/ref/spec#Comparison_operators
- https://go.dev/ref/spec#Address_operators
- https://go.dev/ref/spec#Selectors
- https://go.dev/doc/faq#atomic_maps
- https://go.dev/ref/mem
- https://pkg.go.dev/sync#Mutex
- https://pkg.go.dev/sync#WaitGroup
- https://go.dev/doc/articles/race_detector
- https://go.dev/blog/strings
- https://pkg.go.dev/unicode/utf8@go1.27.2
- https://www.unicode.org/reports/tr29/
- https://go.dev/ref/spec#Conversions_to_and_from_a_string_type
- https://pkg.go.dev/strconv#Itoa
01-02 Go 结构体与方法
- https://go.dev/ref/spec#Struct_types
- https://go.dev/ref/spec#Composite_literals
- https://go.dev/ref/spec#Exported_identifiers
- https://go.dev/ref/spec#The_zero_value
- https://go.dev/ref/spec#Allocation
- https://go.dev/ref/spec#Address_operators
- https://go.dev/doc/faq#stack_or_heap
- https://go.dev/ref/spec#Method_declarations
- https://go.dev/ref/spec#Representation_of_values
- https://go.dev/ref/spec#Calls
- https://go.dev/ref/spec#Assignment_statements
- https://go.dev/wiki/CodeReviewComments#receiver-type
- https://pkg.go.dev/sync#Mutex
- https://pkg.go.dev/cmd/vet
- https://go.dev/ref/spec#Method_sets
- https://go.dev/ref/spec#Implementing_an_interface
- https://go.dev/ref/spec#Index_expressions
- https://go.dev/ref/spec#Variables
- https://go.dev/ref/spec#Interface_types
- https://go.dev/ref/spec#Method_expressions
- https://go.dev/ref/spec#Method_values
- https://go.dev/doc/effective_go#embedding
- https://go.dev/ref/spec#Selectors
- https://pkg.go.dev/reflect#StructTag
- https://pkg.go.dev/reflect#StructTag.Get
- https://pkg.go.dev/reflect#StructTag.Lookup
- https://pkg.go.dev/encoding/json#Marshal
- https://pkg.go.dev/unsafe#Sizeof
- https://pkg.go.dev/unsafe#Alignof
- https://pkg.go.dev/unsafe#Offsetof
- https://go.dev/ref/spec#Size_and_alignment_guarantees
- https://go.dev/doc/articles/race_detector
01-03 Go 接口
- https://pkg.go.dev/io#Writer
- https://go.dev/ref/spec#Basic_interfaces
- https://go.dev/ref/spec#Implementing_an_interface
- https://go.dev/ref/spec#Method_sets
- https://pkg.go.dev/bytes#Buffer.Write
- https://pkg.go.dev/strings#Builder.Write
- https://pkg.go.dev/fmt#Fprintf
- https://pkg.go.dev/fmt
- https://go.dev/wiki/CodeReviewComments#interfaces
- https://go.dev/doc/effective_go#interfaces_and_types
- https://pkg.go.dev/io#ReadWriter
- https://go.dev/ref/spec#Method_declarations
- https://go.dev/ref/spec#Calls
- https://go.dev/ref/spec#Variables
- https://go.dev/ref/spec#Interface_types
- https://go.dev/blog/laws-of-reflection
- https://go.dev/ref/spec#Selectors
- https://go.dev/ref/spec#Representation_of_values
- https://go.dev/ref/spec#Assignment_statements
- https://go.dev/dl/go1.27.2.linux-amd64.tar.gz
- https://pkg.go.dev/builtin#any
- https://go.dev/ref/spec#Type_assertions
- https://go.dev/ref/spec#Assignability
- https://go.dev/ref/spec#Type_identity
- https://go.dev/ref/spec#Type_definitions
- https://go.dev/ref/spec#Type_switches
- https://go.dev/doc/faq#nil_error
- https://go.dev/ref/spec#Comparison_operators
- https://pkg.go.dev/builtin#error
- https://pkg.go.dev/reflect#Value.IsNil
- https://go.dev/ref/spec#Map_types
- https://go.dev/ref/spec#General_interfaces
- https://go.dev/ref/spec#Satisfying_a_type_constraint
- https://go.dev/doc/articles/race_detector
01-04 Go 函数
- https://go.dev/ref/spec#Function_types
- https://go.dev/ref/spec#Function_declarations
- https://go.dev/ref/spec#Return_statements
- https://go.dev/ref/spec#Declarations_and_scope
- https://go.dev/ref/spec#Arithmetic_operators
- https://go.dev/ref/spec#Comparison_operators
- https://go.dev/ref/spec#Calls
- https://go.dev/ref/spec#Function_literals
- https://go.dev/ref/mem
- https://go.dev/ref/spec#For_statements
- https://go.dev/doc/go1.22#language
- https://go.dev/ref/spec#Passing_arguments_to_..._parameters
- https://go.dev/ref/spec#Assignability
- https://go.dev/ref/spec#Defer_statements
- https://pkg.go.dev/os@go1.27.2#Exit
- https://go.dev/ref/spec#Handling_panics
- https://go.dev/blog/defer-panic-and-recover
01-05 Go 错误处理
- https://pkg.go.dev/errors@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/errors/errors.go
- https://pkg.go.dev/errors@go1.27.2#AsType
- https://go.dev/doc/go1.26#errorspkgerrors
- https://go.dev/ref/spec#Errors
- https://go.dev/ref/spec#Interface_types
- https://go.dev/doc/faq#nil_error
- https://go.dev/ref/spec#Comparison_operators
- https://pkg.go.dev/io@go1.27.2#Reader
- https://pkg.go.dev/io@go1.27.2#EOF
- https://go.dev/blog/go1.13-errors
- https://pkg.go.dev/errors@go1.27.2#New
- https://pkg.go.dev/errors@go1.27.2#Is
- https://pkg.go.dev/fmt@go1.27.2#Errorf
- https://pkg.go.dev/errors@go1.27.2#As
- https://pkg.go.dev/errors@go1.27.2#Join
- https://github.com/golang/go/blob/go1.27.2/src/errors/join.go
- https://pkg.go.dev/errors@go1.27.2#Unwrap
- https://go.dev/ref/spec#Return_statements
- https://go.dev/ref/spec#Defer_statements
- https://pkg.go.dev/context@go1.27.2#Context
- https://pkg.go.dev/context@go1.27.2#WithCancelCause
- https://pkg.go.dev/context@go1.27.2#Cause
- https://go.dev/ref/spec#Handling_panics
- https://go.dev/blog/defer-panic-and-recover
01-06 Go 泛型
- https://go.dev/blog/intro-generics
- https://go.dev/doc/go1.27#language
- https://go.dev/ref/spec#Instantiations
- https://go.dev/ref/spec#Type_parameter_declarations
- https://go.dev/ref/spec#Type_constraints
- https://go.dev/doc/tutorial/generics
- https://go.dev/ref/spec#Arithmetic_operators
- https://go.dev/ref/spec#Comparison_operators
- https://pkg.go.dev/cmp@go1.27.2#Ordered
- https://go.dev/ref/spec#Type_declarations
- https://go.dev/ref/spec#Types
- https://go.dev/ref/spec#General_interfaces
- https://go.dev/blog/deconstructing-type-parameters
- https://pkg.go.dev/slices@go1.27.2#Clone
- https://go.dev/ref/spec#Slice_types
- https://go.dev/ref/spec#Appending_and_copying_slices
- https://go.dev/blog/comparable
- https://go.dev/ref/spec#Satisfying_a_type_constraint
- https://pkg.go.dev/maps@go1.27.2
- https://pkg.go.dev/math@go1.27.2#NaN
- https://go.dev/ref/spec#Type_inference
- https://go.dev/ref/spec#Type_definitions
- https://go.dev/ref/spec#Type_identity
- https://go.dev/ref/spec#Method_declarations
- https://go.dev/ref/spec#Method_sets
- https://go.dev/ref/spec#Function_literals
- https://go.dev/blog/when-generics
- https://pkg.go.dev/io@go1.27.2#Writer
- https://pkg.go.dev/io@go1.27.2#WriteString
01-07 Go 迭代器
- https://go.dev/ref/spec#For_statements
- https://go.dev/doc/go1.23#language
- https://pkg.go.dev/iter@go1.27.2
- https://pkg.go.dev/slices@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/slices/iter.go
- https://pkg.go.dev/maps@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/maps/iter.go
- https://go.dev/doc/go1.21#library
- https://go.dev/doc/go1.23#iterators
- https://go.dev/doc/faq#atomic_maps
- https://go.dev/doc/articles/race_detector
- https://pkg.go.dev/strings@go1.27.2#SplitSeq
- https://pkg.go.dev/strings@go1.27.2#FieldsSeq
- https://go.dev/doc/go1.24#stringspkgstrings
- https://pkg.go.dev/bufio@go1.27.2#Scanner
- https://pkg.go.dev/os@go1.27.2#Open
- https://pkg.go.dev/os@go1.27.2#File.Close
- https://pkg.go.dev/iter@go1.27.2#Pull
- https://pkg.go.dev/iter@go1.27.2#Pull2
- https://pkg.go.dev/context@go1.27.2
- https://go.dev/ref/mod#go-mod-file-go
- https://go.dev/doc/toolchain#config
01-08 Go 包与可见性
- https://go.dev/ref/mod#modules-overview
- https://go.dev/ref/mod#module-path
- https://go.dev/ref/spec#Packages
- https://go.dev/ref/spec#Import_declarations
- https://go.dev/ref/spec#Declarations_and_scope
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Package_lists_and_patterns
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Build_constraints
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Test_packages
- https://go.dev/ref/spec#Program_execution
- https://go.dev/doc/modules/layout
- https://go.dev/ref/spec#Exported_identifiers
- https://go.dev/ref/spec#Selectors
- https://go.dev/ref/spec#Interface_types
- https://go.dev/ref/spec#Method_sets
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Internal_Directories
- https://go.dev/ref/spec#Package_initialization
- https://go.dev/ref/spec#Program_initialization
- https://github.com/golang/go/blob/go1.27.2/src/go/build/build.go
- https://pkg.go.dev/image@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/cmd/go/internal/load/pkg.go#L1485-L1589
01-09 Go 标准库必熟
- https://pkg.go.dev/fmt@go1.27.2
- https://pkg.go.dev/strings@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/strings/strings.go
- https://pkg.go.dev/bytes@go1.27.2
- https://pkg.go.dev/sort@go1.27.2
- https://pkg.go.dev/slices@go1.27.2
- https://pkg.go.dev/cmd/vet@go1.27.2
- https://go.dev/ref/spec#String_types
- https://go.dev/ref/spec#Conversions_to_and_from_a_string_type
- https://pkg.go.dev/strconv@go1.27.2
- https://pkg.go.dev/time@go1.27.2
- https://go.dev/doc/go1.23#timer-changes
- https://go.dev/doc/go1.27#runtime
- https://go.dev/doc/godebug#go-127
- https://github.com/golang/go/blob/go1.27.2/src/runtime/runtime1.go#L521-L535
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go#L220-L225
- https://pkg.go.dev/io@go1.27.2
- https://pkg.go.dev/net/http@go1.27.2
- https://pkg.go.dev/net/http/httptest@go1.27.2
- https://pkg.go.dev/bufio@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/bufio/bufio.go
- https://pkg.go.dev/os@go1.27.2
- https://pkg.go.dev/io/fs@go1.27.2#pkg-variables
- https://pkg.go.dev/log@go1.27.2#Fatal
- https://pkg.go.dev/encoding/json@go1.27.2
- https://go.dev/doc/go1.24#encodingjsonpkgencodingjson
- https://go.dev/doc/go1.24#directory-limited-filesystem-access
- https://go.dev/doc/go1.27#jsonv2
- https://go.dev/doc/go1.25#json_v2
- https://pkg.go.dev/encoding/json/v2@go1.27.2
- https://go.dev/doc/go1.22#enhanced_routing_patterns
- https://pkg.go.dev/context@go1.27.2
- https://pkg.go.dev/sync@go1.27.2
- https://go.dev/doc/go1.25#syncpkgsync
- https://go.dev/doc/articles/race_detector
- https://pkg.go.dev/errors@go1.27.2
- https://go.dev/doc/go1.26#errorspkgerrors
- https://pkg.go.dev/log/slog@go1.27.2
- https://pkg.go.dev/cmp@go1.27.2
- https://pkg.go.dev/maps@go1.27.2
- https://go.dev/doc/faq#atomic_maps
- https://pkg.go.dev/cmd/go@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/cmd/go/internal/test/test.go#L658-L689
- https://go.dev/doc/go1.21#library
- https://go.dev/doc/go1.23#iterators
01-10 Go 反射 unsafe cgo 与代码生成
- https://pkg.go.dev/reflect@go1.27.2
- https://go.dev/blog/laws-of-reflection
- https://cs.opensource.google/go/go/+/go1.27.2:src/reflect/value.go
- https://cs.opensource.google/go/go/+/go1.27.2:src/reflect/type.go
- https://pkg.go.dev/unsafe@go1.27.2
- https://pkg.go.dev/runtime@go1.27.2#KeepAlive
- https://pkg.go.dev/cmd/cgo@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/runtime/pinner.go
- https://pkg.go.dev/runtime/cgo@go1.27.2#Handle
- https://pkg.go.dev/embed@go1.27.2
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Generate_Go_files_by_processing_source
- https://sourceware.org/glibc/manual/latest/html_node/String-Length.html
02-01 Goroutine
- https://go.dev/ref/spec#Go_statements
- https://go.dev/ref/spec#Program_execution
- https://go.dev/ref/spec#Receive_operator
- https://go.dev/ref/spec#Close
- https://pkg.go.dev/context@go1.27.2
- https://go.dev/ref/mem#chan
- https://go.dev/ref/spec#Select_statements
- https://pkg.go.dev/sync@go1.27.2#WaitGroup
- https://github.com/golang/sync/blob/v0.16.0/errgroup/errgroup.go
- https://go.dev/doc/faq#goroutines
- https://github.com/golang/go/blob/go1.27.2/src/runtime/stack.go
- https://go.dev/blog/pipelines
- https://pkg.go.dev/runtime@go1.27.2#NumGoroutine
- https://pkg.go.dev/runtime/pprof@go1.27.2#Profile.WriteTo
02-02 Channel
- https://go.dev/ref/spec#Channel_types
- https://go.dev/ref/spec#Send_statements
- https://go.dev/ref/spec#Receive_operator
- https://go.dev/ref/spec#Close
- https://go.dev/ref/spec#Select_statements
- https://go.dev/ref/mem#chan
- https://go.dev/ref/spec#Length_and_capacity
- https://go.dev/tour/concurrency/4
- https://go.dev/blog/pipelines
- https://pkg.go.dev/sync@go1.27.2#WaitGroup
- https://pkg.go.dev/time@go1.27.2
- https://go.dev/wiki/Go123Timer
- https://github.com/golang/go/blob/go1.27.2/src/internal/godebugs/table.go
- https://go.dev/ref/spec#Assignments
02-03 context
- https://pkg.go.dev/context@go1.27.2
- https://pkg.go.dev/context@go1.27.2#Context
- https://pkg.go.dev/context@go1.27.2#WithCancel
- https://pkg.go.dev/context@go1.27.2#WithTimeout
- https://pkg.go.dev/context@go1.27.2#Background
- https://pkg.go.dev/context@go1.27.2#TODO
- https://pkg.go.dev/context@go1.27.2#CancelFunc
- https://go.dev/ref/spec#Defer_statements
- https://pkg.go.dev/context@go1.27.2#WithDeadline
- https://pkg.go.dev/context@go1.27.2#Cause
- https://pkg.go.dev/context@go1.27.2#CancelCauseFunc
- https://pkg.go.dev/context@go1.27.2#WithTimeoutCause
- https://pkg.go.dev/net/http@go1.27.2#NewRequestWithContext
- https://pkg.go.dev/database/sql@go1.27.2
- https://go.dev/ref/spec#Select_statements
- https://pkg.go.dev/context@go1.27.2#WithValue
- https://pkg.go.dev/context@go1.27.2#AfterFunc
- https://pkg.go.dev/context@go1.27.2#WithoutCancel
02-04 sync 包
- https://pkg.go.dev/sync@go1.27.2
- https://pkg.go.dev/sync@go1.27.2#Mutex
- https://pkg.go.dev/sync@go1.27.2#RWMutex
- https://pkg.go.dev/sync@go1.27.2#WaitGroup
- https://pkg.go.dev/sync@go1.27.2#Once
- https://pkg.go.dev/sync@go1.27.2#OnceValue
- https://pkg.go.dev/sync@go1.27.2#OnceValues
- https://pkg.go.dev/sync@go1.27.2#OnceFunc
- https://pkg.go.dev/sync@go1.27.2#Cond
- https://pkg.go.dev/sync@go1.27.2#Pool
- https://pkg.go.dev/bytes@go1.27.2#Buffer.Reset
- https://pkg.go.dev/sync@go1.27.2#Map
- https://pkg.go.dev/sync/atomic@go1.27.2
- https://go.dev/ref/mem
02-05 Go 并发模式
- https://go.dev/blog/pipelines
- https://go.dev/ref/spec#Channel_types
- https://go.dev/ref/spec#Receive_operator
- https://go.dev/ref/spec#Select_statements
- https://pkg.go.dev/sync@go1.27.2#WaitGroup
- https://go.dev/ref/spec#Send_statements
- https://github.com/golang/sync/blob/v0.16.0/errgroup/errgroup.go
- https://cs.opensource.google/go/x/sync/+/refs/tags/v0.16.0:semaphore/semaphore.go
- https://pkg.go.dev/golang.org/x/time/rate
02-06 Go 内存模型
- https://go.dev/ref/mem#introduction
- https://go.dev/ref/mem#model
- https://go.dev/ref/mem#restrictions
- https://go.dev/ref/mem#go
- https://go.dev/ref/mem#goexit
- https://go.dev/ref/mem#chan
- https://go.dev/ref/mem#locks
- https://pkg.go.dev/sync@go1.27.2
- https://pkg.go.dev/sync/atomic@go1.27.2
- https://go.dev/doc/articles/race_detector
02-07 Go 并发常见坑
- https://go.dev/doc/go1.22#language
- https://go.dev/ref/spec#For_statements
- https://go.dev/blog/loopvar-preview
- https://go.dev/ref/mod#go-mod-file-go
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Build_constraints
- https://go.dev/ref/spec#Assignments
- https://pkg.go.dev/sync@go1.27.2#Mutex
- https://pkg.go.dev/sync@go1.27.2#RWMutex
- https://pkg.go.dev/cmd/vet@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go
- https://pkg.go.dev/runtime/pprof@go1.27.2
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Testing_flags
- https://go.dev/ref/spec#Close
- https://go.dev/ref/spec#Send_statements
- https://go.dev/ref/spec#Receive_operator
- https://go.dev/ref/spec#Select_statements
- https://go.dev/tour/concurrency/4
- https://go.dev/blog/pipelines
- https://go.dev/doc/articles/race_detector
02-08 Go 并发工具选型
- https://go.dev/ref/mod#go-mod-file-require
- https://github.com/golang/sync/blob/v0.16.0/go.mod
- https://github.com/golang/sync/blob/v0.16.0/errgroup/errgroup.go
- https://github.com/golang/sync/blob/v0.16.0/singleflight/singleflight.go
- https://go.dev/ref/spec#Assignments
- https://cs.opensource.google/go/x/sync/+/refs/tags/v0.16.0:semaphore/semaphore.go
- https://github.com/golang/sync/blob/v0.16.0/semaphore/semaphore.go
03-01 什么是GMP
- https://go.dev/ref/spec#Go_statements
- https://github.com/golang/go/blob/go1.27.2/src/runtime/HACKING.md
- https://github.com/golang/go/blob/go1.27.2/src/runtime/debug.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/runtime2.go
- https://pkg.go.dev/time@go1.27.2#Sleep
- https://pkg.go.dev/sync@go1.27.2#WaitGroup
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll_epoll.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll_kqueue.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/poll/fd_unix.go
- https://pkg.go.dev/io@go1.27.2#Reader
- https://pkg.go.dev/runtime/debug@go1.27.2#SetMaxThreads
- https://github.com/golang/go/blob/go1.27.2/src/runtime/preempt.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/signal_unix.go
- https://go.dev/doc/go1.14#runtime
- https://go.dev/doc/godebug#default
- https://github.com/golang/go/blob/go1.27.2/src/internal/godebugs/table.go
- https://pkg.go.dev/runtime@go1.27.2#hdr-Environment_Variables
- https://go.dev/doc/diagnostics
03-02 Go 内存分配
- https://github.com/golang/go/blob/go1.27.2/src/runtime/malloc.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mstats.go
- https://pkg.go.dev/unsafe@go1.27.2#Sizeof
- https://docs.kernel.org/filesystems/proc.html
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/escape/escape.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/escape/utils.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/runtime/gc/sizeclasses.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mheap.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mcache.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mcentral.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/malloc.go#L1212
- https://pkg.go.dev/runtime/debug@go1.27.2#SetGCPercent
- https://go.dev/doc/go1.27#runtime
- https://github.com/golang/go/blob/go1.27.2/src/runtime/malloc_generated.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/buildcfg/exp.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/stack.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/HACKING.md#stacks
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgcsweep.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgcscavenge.go
- https://pkg.go.dev/runtime/debug@go1.27.2#FreeOSMemory
03-03 逃逸分析
- https://go.dev/ref/spec#Variables
- https://go.dev/ref/spec#Address_operators
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/escape/escape.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/escape/utils.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/walk/builtin.go
- https://github.com/golang/go/blob/go1.27.2/src/testing/allocs.go
- https://pkg.go.dev/cmd/compile@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/escape/call.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/walk/closure.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/iface.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/abi/type.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/base/flag.go
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Compile_packages_and_dependencies
- https://go.dev/doc/diagnostics
03-04 Go 垃圾回收
- https://go.dev/ref/spec
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgc.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/buildcfg/exp.go
- https://pkg.go.dev/unsafe@go1.27.2#Pointer
- https://pkg.go.dev/runtime@go1.27.2#KeepAlive
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgcmark_greenteagc.go
- https://go.dev/blog/greenteagc
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mbarrier.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mwbbuf.go
- https://go.dev/ref/mem
- https://github.com/golang/go/blob/go1.27.2/src/runtime/stack.go
- https://go.dev/doc/go1.26#runtime
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgcpacer.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgcmark.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/malloc.go
- https://pkg.go.dev/runtime/debug@go1.27.2#SetGCPercent
- https://pkg.go.dev/runtime@go1.27.2#MemStats
- https://pkg.go.dev/runtime/debug@go1.27.2#SetMemoryLimit
- https://github.com/golang/go/blob/go1.27.2/src/runtime/mgclimit.go
- https://go.dev/doc/gc-guide#Memory_limit
- https://pkg.go.dev/runtime/metrics@go1.27.2
- https://pkg.go.dev/runtime@go1.27.2#hdr-Environment_Variables
03-05 Go 数据结构实现
- https://go.dev/ref/spec
- https://github.com/golang/go/blob/go1.27.2/src/runtime/slice.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/chan.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/runtime2.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/string.go
- https://pkg.go.dev/unsafe@go1.27.2#Sizeof
- https://go.dev/ref/spec#Slice_types
- https://go.dev/ref/spec#Full_slice_expressions
- https://go.dev/ref/spec#Appending_to_and_copying_slices
- https://pkg.go.dev/slices@go1.27.2#Clone
- https://go.dev/blog/swisstable
- https://github.com/golang/go/blob/go1.27.2/src/internal/runtime/maps/map.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/runtime/maps/group.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/runtime/maps/table.go
- https://go.dev/ref/spec#Map_types
- https://go.dev/ref/spec#Index_expressions
- https://go.dev/ref/spec#For_statements_with_range_clause
- https://go.dev/ref/spec#Address_operators
- https://go.dev/blog/maps#concurrency
- https://go.dev/ref/mem
- https://go.dev/ref/spec#Channel_types
- https://go.dev/ref/spec#Send_statements
- https://go.dev/ref/spec#Receive_operator
- https://go.dev/ref/spec#Close
- https://go.dev/ref/spec#Interface_types
- https://go.dev/ref/spec#Comparison_operators
- https://github.com/golang/go/blob/go1.27.2/src/internal/abi/iface.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/abi/type.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/iface.go
- https://github.com/golang/go/tree/go1.27.2/src/cmd/compile/internal/devirtualize
- https://go.dev/doc/faq#nil_error
- https://go.dev/ref/spec#String_types
- https://pkg.go.dev/unicode/utf8@go1.27.2
- https://go.dev/ref/spec#Conversions_to_and_from_a_string_type
- https://pkg.go.dev/strings@go1.27.2#Clone
03-06 Go defer select timer 与 netpoller
- https://go.dev/ref/spec#Defer_statements
- https://go.dev/ref/spec#Select_statements
- https://github.com/golang/go/blob/go1.27.2/src/time/sleep.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/poll/fd_unix.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/poll/fd_poll_runtime.go
- https://pkg.go.dev/os@go1.27.2#Exit
- https://github.com/golang/go/blob/go1.27.2/src/runtime/panic.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/ssagen/ssa.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/select.go
- https://github.com/golang/go/blob/go1.27.2/src/cmd/compile/internal/walk/select.go
- https://github.com/golang/go/blob/go1.27.2/src/time/tick.go
- https://go.dev/doc/go1.23#timer-changes
- https://go.dev/doc/go1.27
- https://github.com/golang/go/blob/go1.27.2/src/runtime/runtime1.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/godebugs/table.go
- https://pkg.go.dev/testing/synctest@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/runtime/chan.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/time.go
- https://pkg.go.dev/time@go1.27.2#hdr-Monotonic_Clocks
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll_epoll.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll_kqueue.go
- https://pkg.go.dev/io@go1.27.2#Reader
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll.go
- https://pkg.go.dev/net@go1.27.2#Conn
04-01 Go 模块管理
- https://go.dev/ref/mod#modules-packages-versions
- https://pkg.go.dev/golang.org/x/text@v0.28.0/unicode/norm#Form.String
- https://go.dev/ref/mod#go-mod-file-go
- https://go.dev/doc/toolchain
- https://go.dev/ref/mod#authenticating
- https://go.dev/ref/mod#go-mod-tidy
- https://go.dev/ref/mod#minimal-version-selection
- https://research.swtch.com/vgo-mvs
- https://semver.org/spec/v2.0.0.html
- https://go.dev/ref/mod#major-version-suffixes
- https://go.dev/ref/mod#go-mod-file-replace
- https://go.dev/ref/mod#workspaces
- https://go.dev/ref/mod#goproxy-protocol
- https://go.dev/ref/mod#private-modules
- https://go.dev/ref/mod#checksum-database
- https://go.dev/ref/mod#go-mod-vendor
- https://go.dev/ref/mod
- https://pkg.go.dev/golang.org/x/text@v0.28.0/unicode/norm
04-02 Go 项目结构
- https://go.dev/doc/modules/layout
- https://go.dev/ref/spec#Exported_identifiers
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Internal_Directories
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-List_packages_or_modules
- https://github.com/golang/go/blob/go1.27.2/src/cmd/go/internal/load/pkg.go
- https://go.dev/blog/package-names
- https://go.dev/ref/spec#Import_declarations
- https://go.dev/wiki/CodeReviewComments#interfaces
- https://go.dev/ref/spec#Packages
- https://pkg.go.dev/cmd/go@go1.27.2
04-03 Go 测试
- https://pkg.go.dev/testing@go1.27.2
- https://pkg.go.dev/net/http/httptest@go1.27.2
- https://go.dev/doc/security/fuzz/
- https://go.dev/ref/spec#Integer_operators
- https://go.dev/blog/subtests
- https://go.dev/doc/go1.22#language
- https://pkg.go.dev/testing@go1.27.2#T.Helper
- https://pkg.go.dev/testing@go1.27.2#T.Fatal
- https://pkg.go.dev/testing@go1.27.2#T.Cleanup
- https://pkg.go.dev/testing@go1.27.2#T.TempDir
- https://pkg.go.dev/testing@go1.27.2#T.Setenv
- https://go.dev/wiki/CodeReviewComments#interfaces
- https://martinfowler.com/bliki/TestDouble.html
- https://pkg.go.dev/net/http/httptest@go1.27.2#ResponseRecorder
- https://pkg.go.dev/net/http/httptest@go1.27.2#NewServer
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Build_constraints
- https://go.dev/blog/cover
- https://pkg.go.dev/testing@go1.27.2#B.Loop
- https://pkg.go.dev/testing@go1.27.2#hdr-Benchmarks
- https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
- https://go.dev/doc/articles/race_detector
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Test_packages
04-04 Go 代码质量
- https://pkg.go.dev/cmd/gofmt@go1.27.2
- https://pkg.go.dev/golang.org/x/tools@v0.35.0/cmd/goimports
- https://pkg.go.dev/cmd/vet@go1.27.2
- https://staticcheck.dev/docs/checks/
- https://go.dev/doc/articles/race_detector
- https://pkg.go.dev/sync@go1.27.2#Mutex
- https://pkg.go.dev/context@go1.27.2
- https://pkg.go.dev/log/slog@go1.27.2#Logger.LogAttrs
- https://github.com/golang/go/blob/go1.27.2/src/cmd/go/internal/test/test.go#L667-L683
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Test_packages
- https://golangci-lint.run/docs/configuration/file/
- https://go.dev/doc/security/vuln/
- https://go.dev/doc/effective_go
- https://go.dev/wiki/CodeReviewComments
- https://github.com/uber-go/guide/blob/master/style.md
- https://go.dev/wiki/CodeReviewComments#goroutine-lifetimes
- https://github.com/golang/go/blob/go1.27.2/src/cmd/go/internal/test/test.go
04-05 Go 配置管理
- https://12factor.net/config
- https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html
- https://pkg.go.dev/os@go1.27.2#LookupEnv
- https://pkg.go.dev/strconv@go1.27.2
- https://pkg.go.dev/time@go1.27.2#ParseDuration
- https://pkg.go.dev/encoding/json@go1.27.2#Decoder.DisallowUnknownFields
- https://pkg.go.dev/flag@go1.27.2#NewFlagSet
- https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html#51-injection-of-secrets-file-in-memory
- https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html#27-secret-lifecycle
- https://pkg.go.dev/sync/atomic@go1.27.2#Pointer
- https://pkg.go.dev/flag@go1.27.2
- https://pkg.go.dev/encoding/json@go1.27.2
04-06 Go 结构化日志
- https://pkg.go.dev/log/slog@go1.27.2
- https://pkg.go.dev/log/slog@go1.27.2#Handler
- https://pkg.go.dev/log/slog@go1.27.2#Logger
- https://pkg.go.dev/log/slog@go1.27.2#LevelVar
- https://pkg.go.dev/log/slog@go1.27.2#SetDefault
- https://pkg.go.dev/log/slog@go1.27.2#hdr-Performance_considerations
- https://go.dev/ref/spec#Calls
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html#event-attributes
- https://pkg.go.dev/log/slog@go1.27.2#LogValuer
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html#data-to-exclude
- https://pkg.go.dev/log/slog@go1.27.2#HandlerOptions
- https://github.com/golang/go/blob/go1.27.2/src/log/slog/logger.go
- https://pkg.go.dev/log/slog@go1.27.2#JSONHandler
- https://github.com/golang/go/blob/go1.27.2/src/log/slog/handler.go
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
04-07 Go 依赖注入
- https://go.dev/ref/spec#Interface_types
- https://go.dev/wiki/CodeReviewComments#interfaces
- https://go.dev/blog/wire
- https://github.com/uber-go/guide/blob/master/style.md#avoid-mutable-globals
- https://pkg.go.dev/context@go1.27.2
- https://pkg.go.dev/errors@go1.27.2#Join
- https://go.dev/doc/faq#nil_error
- https://github.com/google/wire
04-08 Go 构建与发布
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Generate_Go_files_by_processing_source
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Compile_packages_and_dependencies
- https://pkg.go.dev/cmd/link@go1.27.2
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Build_constraints
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Environment_variables
- https://pkg.go.dev/cmd/cgo@go1.27.2
- https://www.gnu.org/software/make/manual/make.html#Rule-Introduction
- https://taskfile.dev/docs/guide
- https://pkg.go.dev/runtime/debug@go1.27.2#ReadBuildInfo
- https://docs.github.com/en/actions/tutorials/build-and-test-code/go
- https://pkg.go.dev/cmd/go@go1.27.2
- https://pkg.go.dev/runtime/debug@go1.27.2
04-09 设计原则
- https://go.dev/ref/spec#Exported_identifiers
- https://www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf#page=23
- https://dave.cheney.net/2016/08/20/solid-go-design
- https://go.dev/ref/spec#Struct_types
- https://go.dev/ref/spec#Method_sets
- https://pkg.go.dev/io@go1.27.2#Reader
- https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis
- https://pkg.go.dev/net/http@go1.27.2#Handler
- https://pkg.go.dev/net/http@go1.27.2#HandlerFunc
- https://pkg.go.dev/net/http@go1.27.2#ResponseController
- https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
- https://alistair.cockburn.us/hexagonal-architecture
- https://www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf
- https://go.dev/ref/spec
- https://pkg.go.dev/io@go1.27.2
- https://pkg.go.dev/net/http@go1.27.2
04-10 Go 工程工具选型
- https://golangci-lint.run/docs/welcome/faq/
- https://github.com/spf13/cobra/tree/v1.10.1
- https://github.com/stretchr/testify/tree/v1.11.1
- https://github.com/spf13/viper/tree/v1.21.0
- https://github.com/knadh/koanf/tree/v2.3.0
- https://github.com/uber-go/zap/tree/v1.27.0
- https://github.com/spf13/cobra/blob/v1.10.1/README.md
- https://pkg.go.dev/github.com/spf13/cobra@v1.10.1#Command
- https://github.com/stretchr/testify/blob/v1.11.1/README.md
- https://pkg.go.dev/github.com/stretchr/testify@v1.11.1/require
- https://github.com/spf13/viper/blob/v1.21.0/README.md
- https://github.com/knadh/koanf/blob/v2.3.0/README.md
- https://pkg.go.dev/github.com/knadh/koanf/providers/confmap@v1.0.0
- https://github.com/spf13/viper/blob/v1.21.0/README.md#is-it-safe-to-concurrently-read-and-write-to-a-viper
- https://pkg.go.dev/log/slog@go1.27.2
- https://pkg.go.dev/go.uber.org/zap@v1.27.0
- https://pkg.go.dev/go.uber.org/zap@v1.27.0#Logger
- https://github.com/air-verse/air/blob/v1.63.0/air_example.toml
- https://github.com/golangci/golangci-lint/blob/v2.5.0/.golangci.reference.yml
- https://github.com/air-verse/air
- https://golang.testcontainers.org/quickstart/
- https://github.com/testcontainers/testcontainers-go/blob/v0.39.0/generic.go
- https://github.com/testcontainers/testcontainers-go/blob/v0.39.0/container.go
- https://github.com/testcontainers/testcontainers-go/blob/v0.39.0/wait/host_port.go
- https://github.com/google/wire/blob/v0.7.0/docs/guide.md
- https://github.com/google/wire
- https://github.com/goreleaser/goreleaser/blob/v2.12.7/www/docs/customization/builds/go.md
- https://github.com/goreleaser/goreleaser/blob/v2.12.7/www/docs/quick-start.md
05-01 计算机网络
- https://www.rfc-editor.org/rfc/rfc9293.html#section-2.2
- https://www.rfc-editor.org/rfc/rfc768.html
- https://www.rfc-editor.org/rfc/rfc8446.html#section-1
- https://www.rfc-editor.org/rfc/rfc9110.html#section-3
- https://www.rfc-editor.org/rfc/rfc9001.html#section-4
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.7
- https://pkg.go.dev/io@go1.27.2#ReadFull
- https://pkg.go.dev/net@go1.27.2#Conn
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.5
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.1
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.8.6
- https://www.rfc-editor.org/rfc/rfc5681.html#section-2
- https://www.rfc-editor.org/rfc/rfc5681.html#section-3
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.8.2
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.6
- https://pkg.go.dev/net@go1.27.2#TCPConn.CloseWrite
- https://www.rfc-editor.org/rfc/rfc9293.html#section-3.3.2
- https://man7.org/linux/man-pages/man7/udp.7.html
- https://pkg.go.dev/net@go1.27.2#UDPConn.ReadMsgUDP
- https://www.rfc-editor.org/rfc/rfc9110.html#section-1
- https://www.rfc-editor.org/rfc/rfc9112.html#section-9.3
- https://www.rfc-editor.org/rfc/rfc9113.html#section-4
- https://www.rfc-editor.org/rfc/rfc9114.html#section-2
- https://www.rfc-editor.org/rfc/rfc9112.html#section-6.3
- https://www.rfc-editor.org/rfc/rfc9112.html#section-11.2
- https://pkg.go.dev/net/http@go1.27.2#Client.Do
- https://www.rfc-editor.org/rfc/rfc9113.html#section-5.1
- https://www.rfc-editor.org/rfc/rfc9114.html#section-1.1
- https://www.rfc-editor.org/rfc/rfc9113.html#section-3.2
- https://www.rfc-editor.org/rfc/rfc9000.html#section-2
- https://www.rfc-editor.org/rfc/rfc9002.html#section-7
- https://www.rfc-editor.org/rfc/rfc9204.html#section-2.1.2
- https://www.rfc-editor.org/rfc/rfc9000.html#section-9
- https://www.rfc-editor.org/rfc/rfc8446.html#section-2
- https://www.rfc-editor.org/rfc/rfc8446.html#section-4.4
- https://www.rfc-editor.org/rfc/rfc8446.html#section-4.2
- https://www.rfc-editor.org/rfc/rfc8446.html#section-8
- https://www.rfc-editor.org/rfc/rfc6066.html#section-3
- https://pkg.go.dev/crypto/tls@go1.27.2#Config
- https://www.rfc-editor.org/rfc/rfc1034.html#section-4.3
- https://www.rfc-editor.org/rfc/rfc1035.html#section-3.2
- https://www.rfc-editor.org/rfc/rfc2308.html#section-2
- https://www.rfc-editor.org/rfc/rfc7766.html#section-5
- https://www.rfc-editor.org/rfc/rfc6455.html#section-4
- https://www.rfc-editor.org/rfc/rfc6455.html#section-5
- https://www.rfc-editor.org/rfc/rfc6455.html#section-7
- https://www.rfc-editor.org/rfc/rfc8441.html
- https://www.rfc-editor.org/rfc/rfc9220.html
- https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html
- https://www.rfc-editor.org/rfc/rfc9111.html#section-4.1
- https://docs.haproxy.org/3.0/configuration.html#4.2-mode
- https://docs.haproxy.org/3.0/configuration.html#4.2-balance
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.2
05-02 操作系统
- https://man7.org/linux/man-pages/man2/intro.2.html
- https://man7.org/linux/man-pages/man7/sched.7.html
- https://github.com/golang/go/blob/go1.27.2/src/runtime/HACKING.md#scheduler-structures
- https://man7.org/linux/man-pages/man7/pthreads.7.html
- https://github.com/golang/go/blob/go1.27.2/src/runtime/HACKING.md#gs-ms-ps
- https://man7.org/linux/man-pages/man2/fork.2.html
- https://man7.org/linux/man-pages/man3/pthread_join.3.html
- https://man7.org/linux/man-pages/man2/mmap.2.html
- https://man7.org/linux/man-pages/man2/execve.2.html
- https://man7.org/linux/man-pages/man2/wait.2.html
- https://docs.kernel.org/admin-guide/mm/concepts.html
- https://man7.org/linux/man-pages/man2/getrusage.2.html
- https://man7.org/linux/man-pages/man5/proc_pid_status.5.html
- https://man7.org/linux/man-pages/man2/fsync.2.html
- https://man7.org/linux/man-pages/man2/open.2.html
- https://man7.org/linux/man-pages/man2/dup.2.html
- https://man7.org/linux/man-pages/man2/unlink.2.html
- https://man7.org/linux/man-pages/man2/close.2.html
- https://man7.org/linux/man-pages/man2/read.2.html
- https://man7.org/linux/man-pages/man7/epoll.7.html
- https://man7.org/linux/man-pages/man7/aio.7.html
- https://man7.org/linux/man-pages/man7/pipe.7.html
- https://man7.org/linux/man-pages/man2/epoll_ctl.2.html
- https://github.com/golang/go/blob/go1.27.2/src/runtime/netpoll_epoll.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/poll/fd_unix.go
- https://man7.org/linux/man-pages/man2/sendfile.2.html
- https://docs.kernel.org/core-api/dma-api-howto.html
- https://man7.org/linux/man-pages/man2/splice.2.html
- https://pkg.go.dev/io@go1.27.2#Copy
- https://man7.org/linux/man-pages/man7/signal.7.html
- https://man7.org/linux/man-pages/man7/signal-safety.7.html
- https://pkg.go.dev/os/signal@go1.27.2
- https://pkg.go.dev/os/signal@go1.27.2#NotifyContext
05-03 Linux
- https://man7.org/linux/man-pages/man1/top.1.html
- https://man7.org/linux/man-pages/man1/ps.1.html
- https://man7.org/linux/man-pages/man8/ss.8.html
- https://man7.org/linux/man-pages/man8/netstat.8.html
- https://man7.org/linux/man-pages/man8/lsof.8.html
- https://man7.org/linux/man-pages/man1/strace.1.html
- https://man7.org/linux/man-pages/man8/tcpdump.8.html
- https://man7.org/linux/man-pages/man1/df.1.html
- https://man7.org/linux/man-pages/man7/inode.7.html
- https://man7.org/linux/man-pages/man2/unlink.2.html
- https://man7.org/linux/man-pages/man1/free.1.html
- https://docs.kernel.org/admin-guide/cgroup-v2.html#memory
- https://man7.org/linux/man-pages/man8/vmstat.8.html
- https://man7.org/linux/man-pages/man1/iostat.1.html
- https://man7.org/linux/man-pages/man7/path_resolution.7.html
- https://man7.org/linux/man-pages/man2/umask.2.html
- https://github.com/systemd/systemd/blob/v257/man/systemd.service.xml
- https://github.com/systemd/systemd/blob/v257/man/systemd.unit.xml
- https://github.com/systemd/systemd/blob/v257/man/systemd.exec.xml
- https://github.com/systemd/systemd/blob/v257/man/systemctl.xml
- https://github.com/systemd/systemd/blob/v257/man/journalctl.xml
- https://man7.org/linux/man-pages/man1/bash.1.html
- https://man7.org/linux/man-pages/man7/signal.7.html
05-04 数据结构与算法
- https://github.com/golang/go/blob/go1.27.2/src/internal/runtime/maps/map.go
- https://github.com/golang/go/blob/go1.27.2/src/runtime/slice.go
- https://go.dev/ref/spec#Array_types
- https://go.dev/ref/spec#Appending_and_copying_slices
- https://github.com/golang/go/blob/go1.27.2/src/container/list/list.go
- https://pkg.go.dev/container/list@go1.27.2
- https://opendatastructures.org/ods-python/2_Array_Based_Lists.html
- https://go.dev/ref/spec#Slice_expressions
- https://go.dev/ref/spec#For_range
- https://github.com/golang/go/blob/go1.27.2/src/container/heap/heap.go
- https://pkg.go.dev/container/heap@go1.27.2
- https://github.com/postgres/postgres/blob/REL_18_0/src/backend/access/nbtree/README
- https://doi.org/10.1007/BF00288683
- https://sedgewick.io/wp-content/themes/sedgewick/papers/1978Dichromatic.pdf
- https://docs.kernel.org/core-api/rbtree.html
- https://drum.lib.umd.edu/bitstreams/17176ef8-8330-4a6c-8b75-4cd18c570bec/download
- https://www.cs.umb.edu/~poneil/lsmtree.pdf
- https://github.com/google/leveldb/blob/1.23/doc/impl.md
- https://github.com/google/leveldb/blob/1.23/db/db_impl.cc
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/adjacency_list.html
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/adjacency_matrix.html
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/breadth_first_search.html
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/depth_first_search.html
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/dijkstra_shortest_paths.html
- https://www.boost.org/doc/libs/1_87_0/libs/graph/doc/topological_sort.html
- https://pkg.go.dev/slices@go1.27.2#SortStableFunc
- https://github.com/golang/go/blob/go1.27.2/src/slices/zsortordered.go
- https://pkg.go.dev/slices@go1.27.2#SortFunc
- https://github.com/golang/go/blob/go1.27.2/src/sort/search.go
- https://doi.org/10.1073/pnas.38.8.716
- https://arxiv.org/abs/cs/0011047
- https://pkg.go.dev/slices@go1.27.2#Clone
- https://doi.org/10.1145/362686.362692
- https://github.com/google/leveldb/blob/1.23/util/bloom.cc
- https://people.csail.mit.edu/karger/Papers/web.pdf
- https://arxiv.org/pdf/2110.11602
06-01 net-http
- https://pkg.go.dev/net/http@go1.27.2#Client
- https://pkg.go.dev/net/http@go1.27.2#Server
- https://pkg.go.dev/net/http@go1.27.2#Handler
- https://pkg.go.dev/net/http@go1.27.2#Request.Context
- https://pkg.go.dev/net/http@go1.27.2#Client.Do
- https://pkg.go.dev/net/http@go1.27.2#ServeMux
- https://pkg.go.dev/net/http@go1.27.2#ResponseWriter
- https://pkg.go.dev/net/http@go1.27.2#Transport
- https://pkg.go.dev/net/http@go1.27.2#Server.Shutdown
- https://pkg.go.dev/net/http@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/net/http/server.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/client.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/transport.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/routing_index.go
- https://go.dev/blog/routing-enhancements
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2
06-02 RESTful 设计
- https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2
- https://www.rfc-editor.org/rfc/rfc5789.html#section-2
- https://www.rfc-editor.org/rfc/rfc9110.html#section-15
- https://www.rfc-editor.org/rfc/rfc6585.html
- https://datatracker.ietf.org/doc/html/rfc9457#section-3
- https://www.rfc-editor.org/rfc/rfc9110.html#section-8.8
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.3.4
- https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2
- https://spec.openapis.org/oas/v3.1.1.html
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9
- https://www.rfc-editor.org/rfc/rfc9110.html#section-13
- https://datatracker.ietf.org/doc/html/rfc9457
06-03 Go 请求处理
- https://pkg.go.dev/net/http@go1.27.2#Request.ParseForm
- https://pkg.go.dev/net/http@go1.27.2#MaxBytesReader
- https://pkg.go.dev/encoding/json@go1.27.2#Unmarshal
- https://pkg.go.dev/encoding/json@go1.27.2#Marshal
- https://pkg.go.dev/encoding/json@go1.27.2
- https://pkg.go.dev/encoding/json/v2@go1.27.2#Unmarshal
- https://go.dev/doc/go1.27
- https://pkg.go.dev/time@go1.27.2#Time.MarshalJSON
- https://www.rfc-editor.org/rfc/rfc8259.html#section-6
- https://pkg.go.dev/net/http@go1.27.2#Request.ParseMultipartForm
- https://pkg.go.dev/mime/multipart@go1.27.2#Reader.ReadForm
- https://pkg.go.dev/net/http@go1.27.2#ServeContent
- https://html.spec.whatwg.org/multipage/server-sent-events.html
- https://pkg.go.dev/net/http@go1.27.2#ResponseController
- https://pkg.go.dev/net/http@go1.27.2
- https://pkg.go.dev/encoding/json/v2@go1.27.2
- https://pkg.go.dev/mime/multipart@go1.27.2
- https://github.com/golang/go/blob/go1.27.2/src/net/http/responsecontroller.go
- https://github.com/golang/go/blob/go1.27.2/src/mime/multipart/formdata.go
06-04 Go HTTP 中间件
- https://pkg.go.dev/context@go1.27.2#WithValue
- https://www.w3.org/TR/trace-context/
- https://github.com/golang/go/blob/go1.27.2/src/net/http/server.go#L1223-L1239
- https://pkg.go.dev/net/http@go1.27.2#ResponseWriter
- https://github.com/golang/go/blob/go1.27.2/src/net/http/responsecontroller.go
- https://pkg.go.dev/net/http@go1.27.2#Handler
- https://fetch.spec.whatwg.org/#http-cors-protocol
- https://www.rfc-editor.org/rfc/rfc8725.html#section-3
- https://pkg.go.dev/golang.org/x/time/rate
- https://www.rfc-editor.org/rfc/rfc6585.html#section-4
- https://pkg.go.dev/context@go1.27.2
- https://pkg.go.dev/net/http@go1.27.2#TimeoutHandler
- https://www.rfc-editor.org/rfc/rfc9110.html#section-12.5.3
- https://pkg.go.dev/compress/gzip@go1.27.2#Writer.Flush
- https://www.rfc-editor.org/rfc/rfc7457.html#section-2.6
- https://pkg.go.dev/net/http@go1.27.2
- https://pkg.go.dev/compress/gzip@go1.27.2
06-05 RPC 与 gRPC
- https://pkg.go.dev/google.golang.org/grpc@v1.75.1#NewClient
- https://protobuf.dev/programming-guides/field_presence/
- https://protobuf.dev/programming-guides/encoding/
- https://protobuf.dev/programming-guides/serialization-not-canonical/
- https://protobuf.dev/programming-guides/proto3/#updating
- https://protobuf.dev/programming-guides/json/
- https://grpc.io/docs/languages/go/basics/
- https://github.com/grpc/grpc-go/blob/v1.75.1/stream.go
- https://grpc.io/docs/guides/flow-control/
- https://pkg.go.dev/google.golang.org/grpc@v1.75.1#ChainUnaryInterceptor
- https://pkg.go.dev/google.golang.org/grpc@v1.75.1#StreamServerInterceptor
- https://grpc.io/docs/guides/metadata/
- https://grpc.io/docs/guides/deadlines/
- https://grpc.io/docs/guides/status-codes/
- https://github.com/grpc/grpc/blob/v1.75.1/doc/PROTOCOL-HTTP2.md
- https://grpc.io/docs/guides/retry/
- https://grpc-ecosystem.github.io/grpc-gateway/docs/mapping/customizing_your_gateway/
- https://github.com/grpc-ecosystem/grpc-gateway
- https://pkg.go.dev/google.golang.org/grpc@v1.75.1
- https://github.com/grpc/grpc-go/blob/v1.75.1/interop/grpc_testing/test_grpc.pb.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/health/grpc_health_v1/health_grpc.pb.go
- https://pkg.go.dev/google.golang.org/protobuf@v1.36.6/proto
- https://protobuf.dev/programming-guides/proto3/
06-06 WebSocket GraphQL 与 Webhook
- https://www.rfc-editor.org/rfc/rfc6455.html#section-4
- https://github.com/gorilla/websocket/blob/v1.5.3/doc.go
- https://github.com/gorilla/websocket/blob/v1.5.3/doc.go#L103-L126
- https://websockets.spec.whatwg.org/#ping-and-pong-frames
- https://pkg.go.dev/net/http@go1.27.2#Server.Shutdown
- https://spec.graphql.org/October2021/#sec-Execution
- https://github.com/graphql/dataloader
- https://spec.graphql.org/October2021/#sec-Errors-and-Non-Nullability
- https://graphql.org/learn/security/
- https://docs.stripe.com/webhooks
- https://docs.github.com/en/webhooks/using-webhooks/validating-webhook-deliveries
- https://pkg.go.dev/crypto/hmac@go1.27.2#Equal
- https://www.rfc-editor.org/rfc/rfc6455.html
- https://spec.graphql.org/October2021/
- https://github.com/graphql-go/graphql/tree/v0.8.1
- https://pkg.go.dev/crypto/hmac@go1.27.2
06-07 Go Web 与 RPC 工具选型
- https://github.com/gin-gonic/gin/blob/v1.11.0/context.go
- https://github.com/labstack/echo/blob/v4.13.4/bind.go
- https://github.com/labstack/echo/tree/v4.13.4
- https://github.com/go-chi/chi/tree/v5.2.3
- https://github.com/gofiber/fiber/tree/v2.52.9
- https://github.com/gofiber/fiber/blob/v2.52.9/ctx.go
- https://github.com/go-playground/validator/tree/v10.27.0
- https://github.com/go-playground/validator/blob/v10.27.0/regexes.go
- https://github.com/grpc/grpc-go/tree/v1.75.1
- https://github.com/connectrpc/connect-go/tree/v1.18.1
- https://connectrpc.com/docs/go/streaming/
- https://buf.build/docs/
- https://buf.build/docs/breaking/
- https://github.com/swaggo/swag/tree/v1.16.6
- https://github.com/oapi-codegen/oapi-codegen/tree/v2.4.1
- https://github.com/oapi-codegen/oapi-codegen/blob/v2.4.1/README.md#requestresponse-validation-middleware
- https://github.com/oapi-codegen/oapi-codegen/blob/v2.4.1/README.md#key-design-decisions
- https://github.com/gin-gonic/gin/tree/v1.11.0
- https://buf.build/docs/configuration/v2/buf-yaml/
07-01 SQL 基础
- https://www.postgresql.org/docs/18/sql-commands.html
- https://www.postgresql.org/docs/18/sql-update.html
- https://dev.mysql.com/doc/refman/8.4/en/implicit-commit.html
- https://www.postgresql.org/docs/18/ddl-constraints.html
- https://www.postgresql.org/docs/18/sql-select.html
- https://research.ibm.com/publications/a-relational-model-of-data-for-large-shared-data-banks
- https://www.postgresql.org/docs/18/functions-comparison.html
- https://www.postgresql.org/docs/18/functions-subquery.html
- https://www.postgresql.org/docs/18/tutorial-join.html
- https://dev.mysql.com/doc/refman/8.4/en/join.html
- https://www.postgresql.org/docs/18/functions-aggregate.html
- https://www.postgresql.org/docs/18/using-explain.html
- https://www.postgresql.org/docs/18/sql-expressions.html#SQL-SYNTAX-SCALAR-SUBQUERIES
- https://www.postgresql.org/docs/18/queries-with.html
- https://www.postgresql.org/docs/18/tutorial-agg.html
- https://www.sqlite.org/lang_select.html
- https://www.postgresql.org/docs/18/functions-window.html
- https://www.postgresql.org/docs/18/tutorial-window.html
- https://www.postgresql.org/docs/18/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS
- https://apollo.inf.upol.cz/~urbanec/teaching/2021/data2/files/codd2.pdf
- https://www.comp.nus.edu.sg/~lingtw/papers/tods81.LTK.pdf
- https://www.ibm.com/think/topics/database-normalization
- https://learn.microsoft.com/en-us/office/troubleshoot/access/database-normalization-description
- https://www.postgresql.org/docs/18/app-postgres.html
07-02 数据库索引
- https://dev.mysql.com/doc/refman/8.4/en/innodb-physical-structure.html
- https://www.postgresql.org/docs/18/btree.html
- https://www.postgresql.org/docs/18/indexes-intro.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-index-types.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-multi-versioning.html
- https://www.postgresql.org/docs/18/sql-cluster.html
- https://dev.mysql.com/doc/refman/8.4/en/multiple-column-indexes.html
- https://www.postgresql.org/docs/18/indexes-multicolumn.html
- https://dev.mysql.com/doc/refman/8.4/en/range-optimization.html
- https://www.postgresql.org/docs/18/indexes-index-only-scans.html
- https://www.postgresql.org/docs/18/sql-createindex.html
- https://www.postgresql.org/docs/18/indexes-bitmap-scans.html
- https://www.postgresql.org/docs/18/indexes-expressional.html
- https://dev.mysql.com/doc/refman/8.4/en/index-condition-pushdown-optimization.html
- https://dev.mysql.com/doc/refman/8.4/en/explain-output.html
- https://www.postgresql.org/docs/18/using-explain.html
- https://dev.mysql.com/doc/refman/8.4/en/type-conversion.html
- https://www.postgresql.org/docs/18/planner-stats.html
- https://www.postgresql.org/docs/18/indexes-partial.html
- https://dev.mysql.com/doc/refman/8.4/en/explain.html
- https://www.postgresql.org/docs/18/app-postgres.html
07-03 数据库事务
- https://www.postgresql.org/docs/18/tutorial-transactions.html
- https://www.postgresql.org/docs/18/wal-intro.html
- https://www.postgresql.org/docs/18/runtime-config-wal.html
- https://www.postgresql.org/docs/18/sql-savepoint.html
- https://www.postgresql.org/docs/18/sql-rollback-to.html
- https://www.postgresql.org/docs/18/transaction-iso.html
- https://www.microsoft.com/en-us/research/publication/a-critique-of-ansi-sql-isolation-levels/
- https://dev.mysql.com/doc/refman/8.4/en/innodb-transaction-isolation-levels.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-consistent-read.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-locking-reads.html
- https://www.postgresql.org/docs/18/mvcc-intro.html
- https://www.postgresql.org/docs/18/routine-vacuuming.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-multi-versioning.html
- https://www.postgresql.org/docs/18/explicit-locking.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-locking.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-next-key-locking.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-deadlock-detection.html
- https://www.postgresql.org/docs/18/mvcc-serialization-failure-handling.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-error-handling.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-deadlocks-handling.html
07-04 MySQL
- https://dev.mysql.com/doc/refman/8.4/en/innodb-architecture.html
- https://github.com/mysql/mysql-server/blob/mysql-8.4.0/sql/handler.cc
- https://dev.mysql.com/doc/refman/8.4/en/innodb-buffer-pool.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-checkpoints.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-doublewrite-buffer.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-redo-log.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-undo-logs.html
- https://dev.mysql.com/doc/refman/8.4/en/binary-log.html
- https://dev.mysql.com/doc/refman/8.4/en/replication-formats.html
- https://dev.mysql.com/doc/refman/8.4/en/point-in-time-recovery.html
- https://github.com/mysql/mysql-server/blob/mysql-8.4.0/sql/binlog.cc
- https://dev.mysql.com/doc/refman/8.4/en/xa.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit
- https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_sync_binlog
- https://dev.mysql.com/doc/refman/8.4/en/replication-threads.html
- https://dev.mysql.com/doc/refman/8.4/en/replication-gtids-concepts.html
- https://dev.mysql.com/doc/refman/8.4/en/replication-semisync.html
- https://dev.mysql.com/doc/refman/8.4/en/show-replica-status.html
- https://dev.mysql.com/doc/refman/8.4/en/slow-query-log.html
- https://dev.mysql.com/doc/refman/8.4/en/performance-schema-statement-summary-tables.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-index-types.html
07-05 PostgreSQL
- https://www.postgresql.org/docs/18/mvcc-intro.html
- https://www.postgresql.org/docs/18/transaction-iso.html
- https://www.postgresql.org/docs/18/ddl-system-columns.html
- https://www.postgresql.org/docs/18/storage-hot.html
- https://www.postgresql.org/docs/18/routine-vacuuming.html
- https://www.postgresql.org/docs/18/warm-standby.html#STREAMING-REPLICATION-SLOTS
- https://www.postgresql.org/docs/18/sql-vacuum.html
- https://www.postgresql.org/docs/18/sql-analyze.html
- https://www.postgresql.org/docs/18/storage-vm.html
- https://www.postgresql.org/docs/18/indexes-index-only-scans.html
- https://www.postgresql.org/docs/18/datatype-json.html
- https://www.postgresql.org/docs/18/functions-json.html
- https://www.postgresql.org/docs/18/indexes-types.html
- https://www.postgresql.org/docs/18/gin.html
- https://www.postgresql.org/docs/18/gist.html
- https://www.postgresql.org/docs/18/brin.html
- https://www.postgresql.org/docs/18/datatype-json.html#JSON-INDEXING
- https://www.postgresql.org/docs/18/gin.html#GIN-IMPLEMENTATION
- https://www.postgresql.org/docs/18/rangetypes.html
- https://www.postgresql.org/docs/18/sql-createextension.html
- https://www.postgresql.org/docs/18/pgstatstatements.html
- https://www.postgresql.org/docs/18/pgtrgm.html
- https://www.postgresql.org/docs/18/postgres-fdw.html
- https://postgis.net/documentation/getting_started/
- https://github.com/pgvector/pgvector/tree/v0.8.0
- https://www.postgresql.org/docs/18/app-postgres.html
07-06 Go 数据访问
- https://pkg.go.dev/database/sql@go1.27.2#DB
- https://pkg.go.dev/database/sql/driver@go1.27.2
- https://go.dev/doc/database/manage-connections
- https://pkg.go.dev/database/sql@go1.27.2#DB.SetMaxOpenConns
- https://pkg.go.dev/database/sql@go1.27.2#DB.SetMaxIdleConns
- https://pkg.go.dev/database/sql@go1.27.2#DB.SetConnMaxLifetime
- https://pkg.go.dev/database/sql@go1.27.2#DB.SetConnMaxIdleTime
- https://pkg.go.dev/database/sql@go1.27.2#DBStats
- https://go.dev/doc/database/cancel-operations
- https://go.dev/doc/database/querying
- https://pkg.go.dev/database/sql@go1.27.2#Rows
- https://pkg.go.dev/database/sql@go1.27.2#RawBytes
- https://go.dev/doc/database/execute-transactions
- https://pkg.go.dev/database/sql@go1.27.2#Tx
- https://pkg.go.dev/database/sql@go1.27.2#DB.BeginTx
- https://go.dev/doc/database/prepared-statements
- https://pkg.go.dev/database/sql@go1.27.2#Stmt
- https://go.dev/doc/database/sql-injection
- https://docs.python.org/3/library/sqlite3.html
- https://www.postgresql.org/docs/18/sql-expressions.html#SQL-EXPRESSIONS-PARAMETERS
- https://pkg.go.dev/database/sql@go1.27.2#Null
- https://pkg.go.dev/database/sql@go1.27.2#NullString
07-07 数据库扩展性
- https://www.postgresql.org/docs/18/warm-standby.html
- https://dev.mysql.com/doc/refman/8.4/en/replication-semisync.html
- https://dev.mysql.com/doc/refman/8.4/en/replication-gtids-concepts.html
- https://www.postgresql.org/docs/18/ddl-partitioning.html
- https://vitess.io/docs/archive/22.0/user-guides/vschema-guide/sharding-guidelines/
- https://www.rfc-editor.org/rfc/rfc9562.html
- https://github.com/twitter-archive/snowflake
- https://vitess.io/docs/archive/22.0/reference/features/vitess-sequences/
- https://vitess.io/docs/archive/22.0/reference/features/distributed-transaction/
- https://www.postgresql.org/docs/18/sql-insert.html
- https://vitess.io/docs/archive/22.0/reference/vreplication/reshard/
- https://vitess.io/docs/archive/22.0/reference/vreplication/vdiff/
- https://dev.mysql.com/doc/refman/8.4/en/innodb-online-ddl-operations.html
- https://dev.mysql.com/doc/refman/8.4/en/innodb-online-ddl-limitations.html
- https://dev.mysql.com/doc/refman/8.4/en/metadata-locking.html
- https://www.postgresql.org/docs/18/sql-createindex.html
- https://www.postgresql.org/docs/18/sql-altertable.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
07-08 NoSQL 与专用存储
- https://www.mongodb.com/docs/manual/data-modeling/
- https://www.mongodb.com/docs/manual/reference/limits/
- https://www.mongodb.com/docs/manual/core/write-operations-atomicity/
- https://www.mongodb.com/docs/manual/core/read-isolation-consistency-recency/
- https://www.mongodb.com/docs/manual/indexes/
- https://www.mongodb.com/docs/manual/aggregation/
- https://www.elastic.co/docs/manage-data/data-store/text-analysis/anatomy-of-an-analyzer
- https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-match-query
- https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-term-query
- https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/text
- https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/keyword
- https://www.elastic.co/docs/reference/elasticsearch/index-settings/similarity
- https://www.elastic.co/docs/manage-data/data-store/near-real-time-search
- https://www.elastic.co/docs/reference/elasticsearch/index-settings/translog
- https://clickhouse.com/docs/get-started/about/intro
- https://clickhouse.com/docs/reference/engines/table-engines/mergetree-family/mergetree
- https://clickhouse.com/docs/concepts/best-practices/selecting-an-insert-strategy
- https://clickhouse.com/docs/concepts/features/operations/update/replacing-merge-tree
- https://prometheus.io/docs/concepts/data_model/
- https://prometheus.io/docs/practices/naming/
- https://prometheus.io/docs/concepts/metric_types/
- https://docs.influxdata.com/influxdb3/core/
- https://www.tigerdata.com/docs/reference/timescaledb/hypertables
- https://www.tigerdata.com/docs/learn/data-lifecycle
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#ConsistencyModel
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-writes.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
- https://github.com/minio/minio
- https://docs.min.io/aistor/
07-09 Go 数据库工具选型
- https://pkg.go.dev/database/sql
- https://github.com/jackc/pgx
- https://pkg.go.dev/github.com/jackc/pgx/v5@v5.11.0
- https://pkg.go.dev/github.com/jackc/pgx/v5/pgxpool
- https://github.com/go-sql-driver/mysql
- https://jmoiron.github.io/sqlx/
- https://github.com/jmoiron/sqlx/blob/v1.4.0/bind.go
- https://docs.sqlc.dev/en/v1.31.1/index.html
- https://docs.sqlc.dev/en/v1.31.1/reference/config.html
- https://docs.sqlc.dev/en/v1.31.1/howto/transactions.html
- https://gorm.io/docs/the_generics_way.html
- https://gorm.io/docs/update.html
- https://github.com/go-gorm/gorm/blob/v1.31.1/callbacks/update.go
- https://gorm.io/docs/preload.html
- https://gorm.io/docs/security.html
- https://gorm.io/docs/migration.html
- https://entgo.io/docs/code-gen/
- https://entgo.io/docs/schema-edges/
- https://entgo.io/docs/transactions/
- https://entgo.io/docs/sql-integration/
- https://entgo.io/docs/versioned-migrations/
- https://github.com/golang-migrate/migrate
- https://github.com/golang-migrate/migrate/blob/master/FAQ.md
- https://github.com/golang-migrate/migrate/blob/master/database/postgres/README.md
- https://pressly.github.io/goose/
- https://pressly.github.io/goose/documentation/annotations/
- https://atlasgo.io/concepts/declarative-vs-versioned
- https://atlasgo.io/versioned/intro
- https://atlasgo.io/concepts/migration-directory-integrity
08-01 Redis 数据结构
- https://redis.io/docs/latest/develop/data-types/
- https://github.com/redis/redis/blob/8.2.2/src/listpack.c
- https://github.com/redis/redis/blob/8.2.2/redis.conf
- https://github.com/redis/redis/blob/8.2.2/src/t_string.c
- https://github.com/redis/redis/blob/8.2.2/src/object.c
- https://github.com/redis/redis/blob/8.2.2/src/sds.h
- https://github.com/redis/redis/blob/8.2.2/src/object.c#L278
- https://github.com/redis/redis/blob/8.2.2/src/t_hash.c
- https://redis.io/docs/latest/commands/scan/
- https://github.com/redis/redis/blob/8.2.2/src/t_list.c
- https://github.com/redis/redis/blob/8.2.2/src/quicklist.c
- https://redis.io/docs/latest/commands/lmove/
- https://github.com/redis/redis/blob/8.2.2/src/t_set.c
- https://redis.io/docs/latest/commands/zadd/
- https://github.com/redis/redis/blob/8.2.2/src/t_zset.c
- https://redis.io/docs/latest/commands/setbit/
- https://github.com/redis/redis/blob/8.2.2/src/hyperloglog.c
- https://github.com/redis/redis/blob/8.2.2/src/t_stream.c
- https://redis.io/docs/latest/commands/xack/
- https://redis.io/docs/latest/commands/xtrim/
- https://github.com/redis/redis/blob/8.2.2/src/geo.c
- https://redis.io/docs/latest/commands/geosearch/
- https://redis.io/docs/latest/commands/geoadd/
- https://redis.io/docs/latest/commands/memory-usage/
- https://github.com/redis/redis/tree/8.2.2
- https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/memory-optimization/
- https://download.redis.io/releases/redis-8.2.2.tar.gz
- https://github.com/redis/redis-hashes
08-02 Redis 原理
- https://github.com/redis/redis/blob/8.2.2/src/ae.c
- https://github.com/redis/redis/blob/8.2.2/src/networking.c
- https://github.com/redis/redis/blob/8.2.2/src/iothread.c
- https://github.com/redis/redis/blob/8.2.2/redis.conf
- https://github.com/redis/redis/blob/8.2.2/src/rdb.c
- https://github.com/redis/redis/blob/8.2.2/src/aof.c
- https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/
- https://github.com/redis/redis/blob/8.2.2/src/expire.c
- https://redis.io/docs/latest/commands/set/
- https://redis.io/docs/latest/commands/pttl/
- https://redis.io/docs/latest/develop/reference/eviction/
- https://redis.io/docs/latest/operate/oss_and_stack/management/replication/
- https://redis.io/docs/latest/commands/wait/
- https://redis.io/docs/latest/commands/waitaof/
- https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/
- https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec/
- https://redis.io/docs/latest/develop/using-commands/pipelining/
- https://redis.io/docs/latest/develop/using-commands/transactions/
- https://github.com/redis/redis/blob/8.2.2/src/multi.c
- https://redis.io/docs/latest/develop/programmability/eval-intro/
- https://github.com/redis/redis/blob/8.2.2/src/script.c
- https://redis.io/docs/latest/commands/slowlog/
- https://github.com/redis/redis/tree/8.2.2
- https://download.redis.io/releases/redis-8.2.2.tar.gz
- https://github.com/redis/redis-hashes
08-03 缓存模式
- https://learn.microsoft.com/en-us/azure/architecture/patterns/cache-aside
- https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf
- https://dev.mysql.com/doc/refman/8.4/en/binary-log.html
- https://debezium.io/documentation/reference/stable/connectors/mysql.html
08-04 缓存三大问题
- https://redis.io/docs/latest/develop/data-types/probabilistic/bloom-filter/
- https://redis.io/docs/latest/develop/clients/patterns/distributed-locks/
- https://github.com/golang/sync/blob/v0.16.0/singleflight/singleflight.go
- https://www.rfc-editor.org/rfc/rfc5861
- https://redis.io/docs/latest/develop/reference/client-side-caching/
08-05 Redis 缓存进阶
- https://redis.io/docs/latest/commands/info/
- https://redis.io/docs/latest/commands/slowlog/
- https://github.com/redis/redis/blob/8.2.2/src/redis-cli.c
- https://redis.io/docs/latest/commands/memory-usage/
- https://redis.io/docs/latest/commands/object-freq/
- https://redis.io/docs/latest/commands/scan/
- https://redis.io/docs/latest/operate/oss_and_stack/management/replication/
- https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec/
- https://redis.io/docs/latest/commands/unlink/
- https://github.com/redis/redis/blob/8.2.2/src/lazyfree.c
- https://redis.io/docs/latest/develop/reference/client-side-caching/
- https://redis.io/docs/latest/commands/set/
- https://redis.io/docs/latest/develop/clients/patterns/distributed-locks/
- https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
- https://antirez.com/news/101
- https://download.redis.io/releases/redis-8.2.2.tar.gz
- https://github.com/redis/redis-hashes
08-06 Go 缓存工具选型
- https://redis.io/docs/latest/develop/reference/client-side-caching/
- https://github.com/redis/go-redis/blob/v9.23.0/redis.go
- https://github.com/redis/go-redis/blob/v9.23.0/osscluster.go
- https://github.com/redis/go-redis/blob/v9.23.0/sentinel.go
- https://github.com/redis/go-redis/blob/v9.23.0/options.go
- https://github.com/redis/go-redis/blob/v9.23.0/pipeline.go
- https://github.com/redis/go-redis/blob/v9.23.0/tx.go
- https://github.com/redis/go-redis/blob/v9.23.0/README.md#client-side-caching
- https://github.com/redis/rueidis/blob/v1.0.78/rueidis.go
- https://github.com/redis/rueidis/blob/v1.0.78/README.md#auto-pipelining
- https://github.com/redis/rueidis/blob/v1.0.78/README.md#server-assisted-client-side-caching
- https://github.com/redis/rueidis/blob/v1.0.78/README.md
- https://github.com/dgraph-io/ristretto/blob/v2.4.2/README.md
- https://github.com/dgraph-io/ristretto/blob/v2.4.2/policy.go
- https://github.com/dgraph-io/ristretto/blob/v2.4.2/cache.go
- https://github.com/allegro/bigcache/blob/v3.2.0/shard.go
- https://github.com/allegro/bigcache/blob/v3.2.0/queue/bytes_queue.go
- https://github.com/allegro/bigcache/blob/v3.2.0/config.go
- https://github.com/maypok86/otter/blob/v2.3.0/cache.go
- https://github.com/maypok86/otter/blob/v2.3.0/loader.go
- https://github.com/maypok86/otter/blob/v2.3.0/options.go
- https://github.com/maypok86/otter/blob/v2.3.0/README.md
- https://github.com/maypok86/otter/blob/v2.3.0/expiry_calculator.go
- https://github.com/redis/go-redis/tree/v9.23.0
- https://github.com/redis/rueidis/tree/v1.0.78
- https://github.com/dgraph-io/ristretto/tree/v2.4.2
- https://github.com/allegro/bigcache/tree/v3.2.0
- https://github.com/maypok86/otter/tree/v2.3.0
- https://download.redis.io/releases/redis-8.2.2.tar.gz
- https://github.com/redis/redis-hashes
09-01 消息队列核心概念
- https://kafka.apache.org/42/getting-started/introduction/
- https://www.rabbitmq.com/docs/4.2/confirms
- https://www.rabbitmq.com/docs/4.2/queues
- https://www.rabbitmq.com/docs/4.2/consumers
- https://kafka.apache.org/42/configuration/consumer-configs/
- https://kafka.apache.org/42/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html
- https://kafka.apache.org/blog/2026/02/17/apache-kafka-4.2.0-release-announcement/
- https://kafka.apache.org/42/design/design/#the-share-consumer
- https://kafka.apache.org/42/design/design/#log-compaction
- https://kafka.apache.org/42/design/design/#push-vs-pull
- https://www.rabbitmq.com/docs/4.2/consumer-prefetch
- https://go.dev/ref/spec#Send_statements
09-02 消息队列可靠性
- https://www.rabbitmq.com/docs/4.2/reliability
- https://www.rabbitmq.com/docs/4.2/confirms
- https://kafka.apache.org/42/configuration/producer-configs/
- https://kafka.apache.org/42/configuration/topic-configs/
- https://www.rabbitmq.com/docs/4.2/quorum-queues
- https://kafka.apache.org/42/design/design/
- https://kafka.apache.org/42/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html
- https://www.postgresql.org/docs/18/ddl-constraints.html
- https://www.postgresql.org/docs/18/tutorial-transactions.html
- https://www.rabbitmq.com/docs/4.2/queues
- https://www.rabbitmq.com/docs/4.2/dlx
- https://rocketmq.apache.org/docs/featureBehavior/02delaymessage/
- https://www.rabbitmq.com/docs/4.2/ttl
09-03 Kafka
- https://kafka.apache.org/42/getting-started/introduction/
- https://kafka.apache.org/42/design/design/#the-producer
- https://kafka.apache.org/42/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html
- https://kafka.apache.org/42/implementation/log/
- https://kafka.apache.org/42/configuration/topic-configs/
- https://kafka.apache.org/42/design/design/#replication
- https://kafka.apache.org/42/configuration/producer-configs/
- https://kafka.apache.org/42/operations/eligible-leader-replicas/
- https://kafka.apache.org/42/operations/kraft/
- https://kafka.apache.org/42/getting-started/zk2kraft/
- https://kafka.apache.org/42/design/design/#persistence
- https://kafka.apache.org/42/design/design/#efficiency
- https://raw.githubusercontent.com/apache/kafka/4.2.0/clients/src/main/java/org/apache/kafka/common/record/FileRecords.java
- https://raw.githubusercontent.com/apache/kafka/4.2.0/clients/src/main/java/org/apache/kafka/common/network/PlaintextTransportLayer.java
- https://pkg.go.dev/compress/gzip
- https://kafka.apache.org/42/operations/consumer-rebalance-protocol/
- https://kafka.apache.org/42/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html
- https://kafka.apache.org/42/configuration/consumer-configs/#isolation.level
- https://kafka.apache.org/42/operations/transaction-protocol/
09-04 消息队列其他选型
- https://www.rabbitmq.com/docs/4.2/exchanges
- https://www.rabbitmq.com/docs/4.2/confirms
- https://www.rabbitmq.com/docs/4.2/quorum-queues
- https://www.rabbitmq.com/docs/4.2/streams
- https://rocketmq.apache.org/docs/featureBehavior/04transactionmessage/
- https://rocketmq.apache.org/docs/featureBehavior/02delaymessage/
- https://docs.nats.io/concepts/jetstream
- https://docs.nats.io/concepts/subjects
- https://docs.nats.io/learn/jetstream/pull-consumers
- https://docs.nats.io/learn/jetstream/retention-policies
- https://github.com/nats-io/nats.docs/blob/master/using-nats/jetstream/model_deep_dive.md
- https://github.com/nats-io/nats.docs/blob/master/nats-concepts/jetstream/consumers.md
- https://pulsar.apache.org/docs/4.0.x/concepts-architecture-overview/
- https://pulsar.apache.org/docs/4.0.x/concepts-messaging/
- https://redis.io/docs/latest/commands/xadd/
- https://redis.io/docs/latest/commands/xgroup-create/
- https://redis.io/docs/latest/commands/xreadgroup/
- https://redis.io/docs/latest/commands/xpending/
- https://redis.io/docs/latest/commands/xack/
- https://redis.io/docs/latest/commands/xautoclaim/
- https://redis.io/docs/latest/commands/xtrim/
- https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec/
- https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/
09-05 消息队列应用模式
- https://www.postgresql.org/docs/18/tutorial-transactions.html
- https://debezium.io/documentation/reference/3.3/transformations/outbox-event-router.html
- https://www.postgresql.org/docs/18/sql-select.html
- https://www.postgresql.org/docs/18/logicaldecoding-explanation.html
- https://debezium.io/documentation/reference/3.3/connectors/postgresql.html
- https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md
- https://pkg.go.dev/encoding/json
- https://riverqueue.com/docs/transactional-enqueueing
09-06 Go 消息与工作流工具选型
- https://github.com/twmb/franz-go/blob/v1.22.2/pkg/kgo/config.go
- https://github.com/twmb/franz-go/blob/v1.22.2/pkg/kgo/consumer_group.go
- https://github.com/segmentio/kafka-go/blob/v0.4.51/reader.go
- https://github.com/segmentio/kafka-go/blob/v0.4.51/writer.go
- https://pkg.go.dev/github.com/rabbitmq/amqp091-go@v1.15.0
- https://github.com/rabbitmq/amqp091-go/blob/v1.15.0/delivery.go
- https://github.com/rabbitmq/amqp091-go/blob/v1.15.0/connection.go
- https://github.com/rabbitmq/amqp091-go/blob/v1.15.0/channel.go
- https://github.com/nats-io/nats.go/blob/v1.54.0/jetstream/README.md
- https://github.com/nats-io/nats.go/blob/v1.54.0/jetstream/message.go
- https://github.com/nats-io/nats.go/blob/v1.54.0/jetstream/MIGRATION.md
- https://github.com/hibiken/asynq/blob/v0.26.0/README.md
- https://github.com/hibiken/asynq/blob/v0.26.0/client.go
- https://github.com/hibiken/asynq/blob/v0.26.0/processor.go
- https://pkg.go.dev/github.com/riverqueue/river@v0.49.0
- https://riverqueue.com/docs/sqlite
- https://riverqueue.com/docs/transactional-enqueueing
- https://github.com/riverqueue/river/blob/v0.49.0/client.go
- https://github.com/riverqueue/river/blob/v0.49.0/rivertype/river_type.go
- https://riverqueue.com/docs/job-retries
- https://github.com/riverqueue/river/blob/v0.49.0/CHANGELOG.md
- https://docs.temporal.io/workflow-execution
- https://docs.temporal.io/develop/go/workflows/basics
- https://docs.temporal.io/develop/go/activities/basics
- https://docs.temporal.io/develop/go/best-practices/testing-suite
- https://docs.temporal.io/encyclopedia/retry-policies
- https://docs.temporal.io/develop/go/activities/timeouts
- https://docs.temporal.io/develop/go/workflows/versioning
10-01 分布式理论基础
- https://raft.github.io/raft.pdf
- https://lamport.azurewebsites.net/pubs/byz.pdf
- https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf
- https://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf
- https://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf
- https://lamport.azurewebsites.net/pubs/multi.pdf
- https://www.allthingsdistributed.com/2008/12/eventually_consistent.html
- https://lass.cs.umass.edu/~shenoy/courses/spring19/readings/cap-lynch.pdf
- https://doi.org/10.1145/1394127.1394128
- https://pkg.go.dev/time@go1.27.2#hdr-Monotonic_Clocks
- https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/Time-Clocks-and-the-Ordering-of-Events-in-a-Distributed-System.pdf
- https://pages.cs.wisc.edu/~remzi/Classes/739/Fall2018/Papers/mattern89.pdf
10-02 共识算法
- https://raft.github.io/raft.pdf
- https://lamport.azurewebsites.net/pubs/paxos-simple.pdf
- https://zookeeper.apache.org/doc/r3.9.3/zookeeperInternals.html
- https://github.com/etcd-io/raft/blob/v3.6.0/README.md
- https://marcoserafini.github.io/assets/pdf/zab.pdf
- https://www.usenix.org/legacy/event/atc10/tech/full_papers/Hunt.pdf
10-03 服务治理
- https://www.envoyproxy.io/docs/envoy/v1.35.0/api-docs/xds_protocol
- https://kubernetes.io/docs/concepts/services-networking/service/
- https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/
- https://etcd.io/docs/v3.6/learning/api_guarantees/
- https://www.envoyproxy.io/docs/envoy/v1.35.0/intro/arch_overview/upstream/load_balancing/load_balancers
- https://istio.io/latest/docs/ops/deployment/architecture/
- https://grpc.io/docs/guides/retry/
- https://grpc.io/docs/guides/deadlines/
10-04 分布式事务
- https://www.cs.cmu.edu/~15721-f24/papers/Paxos_and_2PC.pdf
- https://www.postgresql.org/docs/17/sql-prepare-transaction.html
- https://www.cs.utexas.edu/~lorenzo/corsi/cs380d/papers/Ske81.pdf
- https://seata.apache.org/docs/dev/mode/tcc-mode/
- https://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf
- https://debezium.io/documentation/reference/stable/transformations/outbox-event-router.html
- https://microservices.io/patterns/data/transactional-outbox.html
- https://rocketmq.apache.org/docs/featureBehavior/04transactionmessage/
10-05 分布式基础组件
- https://research.google/pubs/the-chubby-lock-service-for-loosely-coupled-distributed-systems/
- https://redis.io/docs/latest/develop/clients/patterns/distributed-locks/
- https://etcd.io/docs/v3.6/learning/api_guarantees/
- https://etcd.io/docs/v3.6/dev-guide/api_concurrency_reference_v3/
- https://etcd.io/docs/v3.6/dev-guide/api_reference_v3/
- https://zookeeper.apache.org/doc/r3.9.3/recipes.html
- https://github.com/twitter-archive/snowflake/blob/snowflake-2010/src/main/scala/com/twitter/service/snowflake/IdWorker.scala
- https://tech.meituan.com/2017/04/21/mt-leaf.html
- https://www.rfc-editor.org/rfc/rfc9562.html
- https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
- https://www.rfc-editor.org/rfc/rfc6265
- https://www.rfc-editor.org/rfc/rfc7519
- https://www.rfc-editor.org/rfc/rfc8725
- https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html
10-06 数据分布
- https://research.google/pubs/bigtable-a-distributed-storage-system-for-structured-data/
- https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
- https://people.csail.mit.edu/karger/Papers/web.pdf
- https://www.postgresql.org/docs/17/warm-standby.html
- https://www.mongodb.com/docs/manual/core/sharding-reshard-a-collection/
- https://vitess.io/docs/archive/22.0/reference/vreplication/reshard/
10-07 微服务拆分方法
- https://martinfowler.com/bliki/MonolithFirst.html
- https://john.cs.olemiss.edu/~hcc/csci555/notes/localcopy/Parnas_Criteria_Decomposing.pdf
- https://microservices.io/patterns/decomposition/decompose-by-business-capability.html
- https://martinfowler.com/bliki/BoundedContext.html
- https://microservices.io/patterns/decomposition/decompose-by-subdomain.html
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Internal_packages
- https://martinfowler.com/bliki/StranglerFigApplication.html
10-08 Go 微服务治理工具选型
- https://etcd.io/docs/v3.6/learning/api_guarantees/
- https://etcd.io/docs/v3.6/dev-guide/api_reference_v3/
- https://developer.hashicorp.com/consul/docs/architecture
- https://developer.hashicorp.com/consul/api-docs/features/consistency
- https://nacos.io/en/docs/latest/manual/user/naming/overview/
- https://nacos.io/en/docs/latest/architecture/
- https://go-zero.dev/
- https://go-zero.dev/guides/quickstart/rpc-service/
- https://github.com/go-kratos/kratos/tree/v2.8.4
- https://www.cloudwego.io/docs/kitex/overview/
- https://go-micro.dev/docs/
- https://github.com/micro/go-micro/releases
- https://apisix.apache.org/docs/apisix/3.12/architecture-design/apisix/
- https://apisix.apache.org/docs/apisix/3.12/deployment-modes/
- https://developer.konghq.com/gateway/deployment-topologies/
- https://www.envoyproxy.io/docs/envoy/v1.35.0/api-docs/xds_protocol
- https://www.envoyproxy.io/docs/envoy/v1.35.0/intro/arch_overview/upstream/load_balancing/load_balancers
- https://istio.io/latest/docs/ops/deployment/architecture/
- https://istio.io/latest/docs/overview/dataplane-modes/
- https://pkg.go.dev/net/http@go1.27.2
11-01 稳定性手段
- https://sre.google/sre-book/handling-overload/
- https://sre.google/sre-book/addressing-cascading-failures/
- https://github.com/golang/go/blob/go1.27.2/src/context/context.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/client.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/transport.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/server.go
- https://github.com/golang/go/blob/go1.27.2/src/net/dial.go
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.2
- https://www.rfc-editor.org/rfc/rfc9110.html#section-10.2.3
- https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
- https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/
- https://pkg.go.dev/golang.org/x/time/rate
- https://github.com/Netflix/concurrency-limits
- https://pkg.go.dev/github.com/sony/gobreaker/v2
11-02 幂等设计
- https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.2
- https://docs.stripe.com/api/idempotent_requests
- https://www.postgresql.org/docs/18/ddl-constraints.html
- https://www.postgresql.org/docs/18/sql-insert.html
- https://www.postgresql.org/docs/18/tutorial-transactions.html
- https://www.postgresql.org/docs/18/transaction-iso.html
- https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/transactional-outbox.html
- https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
- https://github.com/golang/go/blob/go1.27.2/src/sync/mutex.go
- https://github.com/golang/go/tree/go1.27.2/src/crypto/sha256
11-03 高并发手段
- https://go.dev/doc/diagnostics
- https://go.dev/doc/database/manage-connections
- https://github.com/golang/go/blob/go1.27.2/src/database/sql/sql.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/client.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/transport.go
- https://www.rfc-editor.org/rfc/rfc9113.html#section-5
- https://github.com/golang/go/blob/go1.27.2/src/sync/pool.go
- https://github.com/golang/go/blob/go1.27.2/src/bytes/buffer.go
- https://pkg.go.dev/golang.org/x/sync@v0.24.0/singleflight
- https://www.rfc-editor.org/rfc/rfc9110.html#section-15.3.3
- https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/transactional-outbox.html
- https://www.postgresql.org/docs/18/hot-standby.html
- https://aws.amazon.com/builders-library/caching-challenges-and-strategies/
- https://www.postgresql.org/docs/18/rules-materializedviews.html
- https://go.dev/ref/mem
- https://github.com/golang/go/blob/go1.27.2/src/sync/atomic/doc.go
- https://cs.brown.edu/~mph/Herlihy91/p124-herlihy.pdf
11-04 容量与弹性
- https://grafana.com/docs/k6/latest/testing-guides/test-types/
- https://grafana.com/docs/k6/latest/using-k6/scenarios/concepts/open-vs-closed/
- https://grafana.com/docs/k6/latest/using-k6/scenarios/concepts/dropped-iterations/
- https://people.cs.umass.edu/~emery/classes/cmpsci691st/readings/OS/Littles-Law-50-Years-Later.pdf
- https://sre.google/workbook/managing-load/
- https://sre.google/sre-book/handling-overload/
- https://kubernetes.io/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/
- https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
- https://github.com/golang/go/blob/go1.27.2/src/sort/sort.go
- https://github.com/golang/go/tree/go1.27.2/src/math
11-05 容灾
- https://docs.aws.amazon.com/wellarchitected/2023-10-03/framework/rel_planning_for_recovery_objective_defined_recovery.html
- https://www.postgresql.org/docs/18/warm-standby.html#SYNCHRONOUS-REPLICATION
- https://www.postgresql.org/docs/18/warm-standby-failover.html
- https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html
- https://www.postgresql.org/docs/18/continuous-archiving.html
- https://sre.google/sre-book/data-integrity/
- https://github.com/golang/go/blob/go1.27.2/src/os/file.go
- https://github.com/golang/go/blob/go1.27.2/src/bytes/reader.go
- https://github.com/golang/go/tree/go1.27.2/src/encoding/json
- https://principlesofchaos.org/
- https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_testing_resiliency_failure_injection_resiliency.html
11-06 发布安全
- https://kubernetes.io/docs/concepts/workloads/pods/probes/
- https://github.com/golang/go/blob/go1.27.2/src/net/http/server.go
- https://github.com/golang/go/blob/go1.27.2/src/os/signal/signal.go
- https://github.com/golang/go/blob/go1.27.2/src/context/context.go
- https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination
- https://sre.google/workbook/canarying-releases/
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- https://openfeature.dev/specification/sections/flag-evaluation/
- https://docs.gitlab.com/development/database/avoiding_downtime_in_migrations/
11-07 可靠性度量
- https://sre.google/sre-book/service-level-objectives/
- https://sre.google/workbook/implementing-slos/
- https://prometheus.io/docs/practices/histograms/
- https://sre.google/workbook/alerting-on-slos/
- https://sre.google/sre-book/availability-table/
- https://sre.google/workbook/error-budget-policy/
- https://github.com/golang/go/blob/go1.27.2/src/math/big/rat.go
- https://github.com/golang/go/blob/go1.27.2/src/time/time.go
11-08 Go 稳定性与压测工具选型
- https://github.com/golang/time/blob/v0.16.0/rate/rate.go
- https://github.com/sony/gobreaker/blob/v2.4.0/v2/gobreaker.go
- https://github.com/sony/gobreaker/blob/v2.4.0/v2/distributed_gobreaker.go
- https://github.com/failsafe-go/failsafe-go/blob/v0.9.8/retrypolicy/retry.go
- https://github.com/failsafe-go/failsafe-go/blob/v0.9.8/executor.go
- https://github.com/failsafe-go/failsafe-go/blob/v0.9.8/execution.go
- https://github.com/alibaba/sentinel-golang/tree/v1.0.4/api
- https://github.com/alibaba/sentinel-golang/blob/v1.0.4/core/flow/rule.go
- https://github.com/alibaba/sentinel-golang/blob/v1.0.4/core/isolation/rule.go
- https://github.com/alibaba/sentinel-golang/blob/v1.0.4/core/circuitbreaker/rule.go
- https://github.com/alibaba/sentinel-golang/tree/v1.0.4/core
- https://failsafe-go.dev/policies/
- https://failsafe-go.dev/timeout/
- https://github.com/failsafe-go/failsafe-go/blob/v0.9.8/budget/budget.go
- https://github.com/grafana/k6/releases/tag/v2.3.0
- https://grafana.com/docs/k6/latest/using-k6/scenarios/concepts/open-vs-closed/
- https://grafana.com/docs/k6/latest/using-k6/scenarios/concepts/dropped-iterations/
- https://github.com/tsenart/vegeta/tree/v12.13.0
- https://github.com/tsenart/vegeta/blob/v12.13.0/lib/attack.go
- https://github.com/tsenart/vegeta/blob/v12.13.0/lib/metrics.go
- https://grafana.com/docs/k6/latest/using-k6/thresholds/
- https://github.com/wg/wrk/tree/4.2.0
- https://github.com/giltene/wrk2
- https://github.com/bojand/ghz/releases/tag/v0.121.0
- https://ghz.sh/docs/usage
- https://ghz.sh/docs/load
- https://ghz.sh/docs/concurrency
- https://github.com/bojand/ghz/blob/v0.121.0/cmd/ghz/main.go
- https://github.com/bojand/ghz/blob/v0.121.0/runner/options.go
- https://github.com/bojand/ghz/blob/v0.121.0/runner/options_test.go
- https://github.com/grpc/grpc-go/tree/v1.83.2/health
- https://github.com/grpc/grpc-go/tree/v1.83.2/reflection
12-01 认证
- https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#renew-the-session-id-after-any-privilege-level-change
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie
- https://www.rfc-editor.org/rfc/rfc7519.html#section-3
- https://www.rfc-editor.org/rfc/rfc7519.html#section-4.1
- https://www.rfc-editor.org/rfc/rfc8725.html#section-3
- https://www.rfc-editor.org/rfc/rfc9864.html#section-2.2
- https://www.rfc-editor.org/rfc/rfc7518.html
- https://www.rfc-editor.org/rfc/rfc8037.html
- https://github.com/golang-jwt/jwt/blob/v5.3.1/parser_option.go
- https://www.rfc-editor.org/rfc/rfc7662.html
- https://www.rfc-editor.org/rfc/rfc7009.html
- https://www.rfc-editor.org/rfc/rfc9700.html#section-4.14
- https://www.rfc-editor.org/rfc/rfc6749.html
- https://openid.net/specs/openid-connect-core-1_0.html#Introduction
- https://www.rfc-editor.org/rfc/rfc9700.html#section-2
- https://www.rfc-editor.org/rfc/rfc7636.html#section-4
- https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
- https://openid.net/specs/openid-connect-rpinitiated-1_0.html
- https://pages.nist.gov/800-63-4/sp800-63b.html#authentication
- https://www.w3.org/TR/webauthn-3/#sctn-verifying-assertion
- https://pages.nist.gov/800-63-4/sp800-63b.html#syncable-authenticators
- https://cheatsheetseries.owasp.org/cheatsheets/Multifactor_Authentication_Cheat_Sheet.html
- https://github.com/golang-jwt/jwt/blob/v5.3.1/validator.go
12-02 授权
- https://csrc.nist.gov/pubs/sp/800/162/upd2/final
- https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html#verify-that-authorization-checks-are-performed-in-the-right-location
- https://csrc.nist.gov/projects/role-based-access-control
- https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-162.pdf
- https://www.usenix.org/conference/atc19/presentation/pang
- https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html#deny-by-default
- https://cheatsheetseries.owasp.org/cheatsheets/Multi_Tenant_Security_Cheat_Sheet.html
- https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.4
12-03 常见安全漏洞
- https://top10.owasp.org/2025/
- https://go.dev/doc/database/sql-injection
- https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
- https://pkg.go.dev/html/template@go1.27.2#hdr-Security_Model
- https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
- https://www.w3.org/TR/CSP3/
- https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html
- https://pkg.go.dev/net/http@go1.27.2#Transport
- https://pkg.go.dev/net/netip@go1.27.2#Addr.IsPrivate
- https://pkg.go.dev/os@go1.27.2#Root
- https://go.dev/blog/osroot
- https://pkg.go.dev/os/exec@go1.27.2
- https://pkg.go.dev/encoding/json@go1.27.2#hdr-Security_Considerations
- https://pkg.go.dev/encoding/gob@go1.27.2#hdr-Security
- https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html
12-04 密码学应用
- https://www.rfc-editor.org/rfc/rfc4648.html
- https://pkg.go.dev/crypto/sha256@go1.27.2
- https://www.rfc-editor.org/rfc/rfc5116.html
- https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
- https://www.rfc-editor.org/rfc/rfc9106.html#section-7.4
- https://github.com/golang/crypto/blob/v0.58.0/argon2/argon2.go
- https://github.com/golang/crypto/blob/v0.58.0/bcrypt/bcrypt.go
- https://csrc.nist.gov/pubs/sp/800/38/d/final
- https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping
- https://www.rfc-editor.org/rfc/rfc5116.html#section-2
- https://pkg.go.dev/crypto/cipher@go1.27.2#NewGCMWithRandomNonce
- https://www.rfc-editor.org/rfc/rfc2104.html
- https://www.rfc-editor.org/rfc/rfc8032.html
- https://pkg.go.dev/crypto/hmac@go1.27.2
- https://pkg.go.dev/crypto/ed25519@go1.27.2
- https://www.rfc-editor.org/rfc/rfc8446.html#section-2
- https://www.rfc-editor.org/rfc/rfc5280.html
- https://www.rfc-editor.org/rfc/rfc9525.html
- https://pkg.go.dev/crypto/x509@go1.27.2#Certificate.Verify
- https://pkg.go.dev/crypto/tls@go1.27.2#Config
- https://www.rfc-editor.org/rfc/rfc9325.html
12-05 接口安全
- https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html
- https://pkg.go.dev/net/http@go1.27.2#MaxBytesReader
- https://pkg.go.dev/encoding/json/v2@go1.27.2
- https://pkg.go.dev/encoding/json/jsontext@go1.27.2#AllowDuplicateNames
- https://www.rfc-editor.org/rfc/rfc9421.html
- https://pkg.go.dev/crypto/hmac@go1.27.2
- https://www.rfc-editor.org/rfc/rfc9421.html#section-7.2.2
- https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html#http-return-code
- https://www.rfc-editor.org/rfc/rfc6585.html#section-4
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html#data-to-exclude
- https://www.rfc-editor.org/rfc/rfc6797.html
- https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html
- https://fetch.spec.whatwg.org/#http-cors-protocol
12-06 供应链与运行时安全
- https://spdx.dev/learn/overview/
- https://cyclonedx.org/capabilities/sbom/
- https://slsa.dev/spec/v1.2/
- https://go.dev/ref/mod
- https://go.dev/ref/mod#authenticating
- https://slsa.dev/spec/v1.2/provenance
- https://go.dev/doc/security/vuln/
- https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
- https://kubernetes.io/docs/concepts/configuration/secret/
- https://docs.docker.com/build/building/secrets/
- https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html
- https://docs.docker.com/build/building/best-practices/
- https://pkg.go.dev/runtime/debug@go1.27.2#BuildInfo
- https://kubernetes.io/docs/concepts/security/security-checklist/
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
12-07 Go 安全工具选型
- https://github.com/golang-jwt/jwt/blob/v5.3.1/parser.go
- https://github.com/golang-jwt/jwt/blob/v5.3.1/parser_option.go
- https://www.rfc-editor.org/rfc/rfc8725.html
- https://www.rfc-editor.org/rfc/rfc9864.html#section-2.2
- https://github.com/golang/crypto/blob/v0.58.0/argon2/argon2.go
- https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
- https://pkg.go.dev/vuln/GO-2026-5932
- https://casbin.apache.org/docs/rbac-with-domains/
- https://casbin.apache.org/docs/abac/
- https://github.com/coreos/go-oidc/tree/v3.21.0
- https://github.com/coreos/go-oidc/blob/v3.21.0/oidc/verify.go
- https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
- https://www.rfc-editor.org/rfc/rfc9700.html
- https://go.dev/doc/security/vuln/
- https://github.com/securego/gosec/blob/v2.29.0/RULES.md
- https://github.com/securego/gosec
- https://trivy.dev/docs/latest/guide/
- https://trivy.dev/docs/latest/guide/scanner/vulnerability/
- https://trivy.dev/docs/latest/guide/scanner/secret/
- https://developer.hashicorp.com/vault/docs
- https://developer.hashicorp.com/vault/docs/secrets/databases
- https://developer.hashicorp.com/vault/docs/secrets/transit
- https://developer.hashicorp.com/vault/docs/concepts/lease
- https://developer.hashicorp.com/vault/docs/concepts/policies
- https://docs.cloud.google.com/kms/docs/envelope-encryption
- https://docs.aws.amazon.com/kms/latest/developerguide/overview.html
- https://learn.microsoft.com/en-us/azure/key-vault/general/overview
- https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
- https://docs.cloud.google.com/kms/docs/key-rotation
13-01 可观测性三大支柱
- https://pkg.go.dev/log/slog@go1.27.2
- https://opentelemetry.io/docs/specs/otel/compatibility/logging_trace_context/
- https://opentelemetry.io/docs/collector/resiliency/
- https://prometheus.io/docs/practices/histograms/
- https://prometheus.io/docs/concepts/metric_types/
- https://opentelemetry.io/docs/specs/otel/metrics/data-model/
- https://prometheus.io/docs/prometheus/latest/querying/functions/
- https://prometheus.io/docs/specs/native_histograms/
- https://prometheus.io/docs/practices/instrumentation/#do-not-overuse-labels
- https://grafana.com/blog/the-red-method-how-to-instrument-your-services/
- https://www.brendangregg.com/usemethod.html
- https://opentelemetry.io/docs/specs/otel/trace/api/
- https://www.w3.org/TR/2021/REC-trace-context-1-20211123/
- https://pkg.go.dev/context@go1.27.2
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/sdk/trace/sampling.go
- https://opentelemetry.io/docs/concepts/sampling/
13-02 OpenTelemetry
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/README.md
- https://opentelemetry.io/docs/concepts/components/
- https://opentelemetry.io/docs/collector/architecture/
- https://opentelemetry.io/docs/languages/go/instrumentation/
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/sdk/trace/batch_span_processor.go
- https://opentelemetry.io/docs/concepts/resources/
- https://opentelemetry.io/docs/concepts/semantic-conventions/
- https://www.w3.org/TR/2021/REC-trace-context-1-20211123/
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/propagation/trace_context.go
- https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0
- https://opentelemetry.io/docs/zero-code/go/
- https://opentelemetry.io/docs/specs/otel/trace/api/
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/trace/span.go
- https://pkg.go.dev/context@go1.27.2
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/sdk/trace/sampling.go
- https://opentelemetry.io/docs/concepts/sampling/
- https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/sdk/metric/manual_reader.go
- https://opentelemetry.io/docs/specs/otel/metrics/sdk/#exemplar
- https://pkg.go.dev/log/slog@go1.27.2
- https://opentelemetry.io/docs/specs/otel/compatibility/logging_trace_context/
- https://opentelemetry.io/docs/collector/resiliency/
13-03 告警设计
- https://sre.google/sre-book/monitoring-distributed-systems/
- https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
- https://sre.google/workbook/implementing-slos/
- https://sre.google/workbook/alerting-on-slos/
- https://prometheus.io/docs/prometheus/latest/querying/functions/
- https://prometheus.io/docs/alerting/latest/alertmanager/
- https://prometheus.io/docs/alerting/0.28/configuration/
- https://sre.google/sre-book/being-on-call/
- https://sre.google/sre-book/managing-incidents/
- https://prometheus.io/docs/prometheus/latest/configuration/unit_testing_rules/
13-04 持续剖析
- https://pkg.go.dev/runtime/pprof@go1.27.2#Profile
- https://pkg.go.dev/runtime/trace@go1.27.2
- https://go.dev/doc/diagnostics#profiling
- https://github.com/google/pprof/blob/main/doc/README.md
- https://pkg.go.dev/runtime/pprof@go1.27.2#StartCPUProfile
- https://pkg.go.dev/runtime@go1.27.2#MemProfileRate
- https://pkg.go.dev/runtime/pprof@go1.27.2#hdr-Heap_profile
- https://pkg.go.dev/runtime/pprof@go1.27.2#hdr-Block_profile
- https://pkg.go.dev/runtime@go1.27.2#SetBlockProfileRate
- https://pkg.go.dev/runtime@go1.27.2#SetMutexProfileFraction
- https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/go_push/
- https://pkg.go.dev/runtime/pprof@go1.27.2#Labels
- https://pkg.go.dev/net/http/pprof@go1.27.2
- https://pkg.go.dev/runtime/pprof@go1.27.2
- https://pkg.go.dev/runtime@go1.27.2
13-05 故障复盘
- https://sre.google/sre-book/managing-incidents/
- https://sre.google/sre-book/postmortem-culture/
- https://www.etsy.com/codeascraft/blameless-postmortems/
- https://www.adaptivecapacitylabs.com/HowComplexSystemsFail.pdf
- https://sre.google/sre-book/monitoring-distributed-systems/
- https://sre.google/workbook/postmortem-culture/
- https://pkg.go.dev/time@go1.27.2
- https://pkg.go.dev/encoding/json@go1.27.2
13-06 Go 可观测性工具选型
- https://opentelemetry.io/docs/concepts/components/
- https://opentelemetry.io/docs/languages/go/instrumentation/
- https://opentelemetry.io/docs/collector/configuration/
- https://opentelemetry.io/docs/languages/go/
- https://prometheus.io/docs/concepts/data_model/
- https://prometheus.io/docs/guides/go-application/
- https://prometheus.io/docs/introduction/overview/
- https://prometheus.io/docs/prometheus/latest/storage/
- https://grafana.com/docs/grafana/latest/datasources/
- https://grafana.com/docs/loki/latest/get-started/overview/
- https://grafana.com/docs/loki/latest/get-started/labels/cardinality/
- https://grafana.com/docs/loki/latest/operations/storage/retention/
- https://grafana.com/docs/loki/latest/operations/authentication/
- https://www.elastic.co/docs/get-started/the-stack
- https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/text
- https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/keyword
- https://www.elastic.co/docs/manage-data/lifecycle/index-lifecycle-management
- https://grafana.com/docs/tempo/latest/introduction/architecture/
- https://grafana.com/docs/tempo/latest/traceql/
- https://www.jaegertracing.io/docs/2.21/architecture/
- https://www.jaegertracing.io/docs/2.21/architecture/apis/
- https://grafana.com/docs/pyroscope/latest/introduction/
- https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/go_push/
- https://pkg.go.dev/runtime/pprof@go1.27.2#Labels
- https://docs.sentry.io/api/events/retrieve-an-event-for-a-project/
- https://pkg.go.dev/github.com/getsentry/sentry-go@v0.50.0
- https://pkg.go.dev/github.com/getsentry/sentry-go@v0.50.0#ClientOptions
- https://opentelemetry.io/docs/specs/otlp/
- https://prometheus.io/docs/guides/opentelemetry/
- https://prometheus.io/docs/practices/histograms/
- https://opentelemetry.io/docs/concepts/sampling/
14-01 pprof
- https://pkg.go.dev/runtime/pprof@go1.27.2
- https://pkg.go.dev/net/http/pprof@go1.27.2
- https://pkg.go.dev/runtime@go1.27.2
- https://github.com/google/pprof/blob/main/doc/README.md
- https://www.brendangregg.com/flamegraphs.html
14-02 Go trace
- https://pkg.go.dev/runtime/trace@go1.27.2
- https://go.dev/doc/gc-guide
- https://pkg.go.dev/runtime@go1.27.2
- https://pkg.go.dev/net/http/pprof@go1.27.2
- https://github.com/golang/go/tree/go1.27.2/src/cmd/trace
- https://go.dev/doc/diagnostics
- https://go.dev/blog/execution-traces-2024
14-03 Go 基准测试
- https://pkg.go.dev/testing@go1.27.2
- https://pkg.go.dev/cmd/go@go1.27.2#hdr-Testing_flags
- https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
- https://go.googlesource.com/perf/+/be2c69fb417e/cmd/benchstat/main.go
- https://pkg.go.dev/strings@go1.27.2#Builder
14-04 Go 常见优化点
- https://go.dev/doc/diagnostics
- https://go.dev/doc/gc-guide
- https://go.dev/ref/spec#Appending_and_copying_slices
- https://github.com/golang/go/blob/go1.27.2/src/runtime/slice.go
- https://go.dev/doc/faq#stack_or_heap
- https://pkg.go.dev/sync@go1.27.2
- https://pkg.go.dev/bytes@go1.27.2#Buffer.Bytes
- https://pkg.go.dev/strings@go1.27.2#Builder
- https://github.com/golang/go/blob/go1.27.2/src/strings/builder.go
- https://pkg.go.dev/reflect@go1.27.2
- https://pkg.go.dev/encoding/json@go1.27.2
- https://pkg.go.dev/encoding/json/v2@go1.27.2
- https://go.dev/doc/pgo
14-05 Go 典型故障排查
- https://go.dev/doc/diagnostics
- https://pkg.go.dev/runtime/pprof@go1.27.2
- https://go.dev/doc/gc-guide
- https://pkg.go.dev/runtime@go1.27.2#MemStats
- https://pkg.go.dev/runtime/debug@go1.27.2
- https://docs.kernel.org/filesystems/proc.html
- https://docs.kernel.org/admin-guide/cgroup-v2.html#memory
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go
- https://pkg.go.dev/sync@go1.27.2#Mutex
- https://go.dev/doc/articles/race_detector
- https://pkg.go.dev/runtime/metrics@go1.27.2
- https://go.dev/doc/database/manage-connections
- https://pkg.go.dev/database/sql@go1.27.2
- https://pkg.go.dev/net/http@go1.27.2
- https://www.postgresql.org/docs/18/using-explain.html
- https://man7.org/linux/man-pages/man2/getrlimit.2.html
- https://man7.org/linux/man-pages/man2/open.2.html
14-06 Go 调试
- https://go.dev/doc/diagnostics
- https://github.com/go-delve/delve/blob/v1.27.2/Documentation/cli/README.md
- https://github.com/go-delve/delve/blob/v1.27.2/Documentation/usage/dlv_exec.md
- https://pkg.go.dev/cmd/compile@go1.27.2
- https://pkg.go.dev/cmd/link@go1.27.2
- https://github.com/go-delve/delve/blob/v1.27.2/Documentation/usage/dlv_core.md
- https://pkg.go.dev/runtime@go1.27.2
- https://pkg.go.dev/runtime/debug@go1.27.2#SetTraceback
- https://github.com/golang/go/blob/go1.27.2/src/runtime/proc.go
- https://man7.org/linux/man-pages/man5/core.5.html
- https://go.dev/doc/godebug
14-07 Go 性能诊断工具选型
- https://go.dev/doc/diagnostics
- https://pkg.go.dev/runtime/pprof@go1.27.2
- https://github.com/felixge/fgprof/tree/v0.9.5
- https://github.com/felixge/fgprof/blob/v0.9.5/fgprof.go
- https://github.com/felixge/fgprof/blob/v0.9.5/handler.go
- https://pkg.go.dev/runtime/trace@go1.27.2
- https://github.com/golang/go/tree/go1.27.2/src/cmd/trace
- https://pkg.go.dev/go.uber.org/goleak@v1.3.0
- https://github.com/uber-go/goleak/blob/v1.3.0/leaks.go
- https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
- https://go.googlesource.com/perf/+/be2c69fb417e/cmd/benchstat/main.go
- https://pkg.go.dev/testing@go1.27.2#B.Loop
- https://github.com/go-delve/delve/tree/v1.27.2/Documentation
15-01 容器与 Docker
- https://docs.docker.com/get-started/docker-overview/
- https://docs.docker.com/get-started/docker-overview/#the-underlying-technology
- https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
- https://docs.docker.com/engine/security/rootless/
- https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities
- https://docs.docker.com/engine/storage/drivers/overlayfs-driver/
- https://github.com/opencontainers/image-spec/blob/v1.1.1/layer.md
- https://docs.docker.com/build/building/secrets/
- https://docs.docker.com/build/cache/invalidation/#build-secrets
- https://docs.docker.com/build/building/multi-stage/
- https://docs.docker.com/reference/dockerfile/#entrypoint
- https://github.com/GoogleContainerTools/distroless
- https://pkg.go.dev/time/tzdata
- https://pkg.go.dev/crypto/x509#SystemCertPool
- https://docs.docker.com/build/cache/invalidation/
- https://docs.docker.com/build/building/best-practices/#pin-base-image-versions
- https://docs.docker.com/build/building/best-practices/
15-02 Kubernetes
- https://kubernetes.io/docs/concepts/overview/components/
- https://kubernetes.io/docs/concepts/workloads/pods/
- https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
- https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
- https://kubernetes.io/docs/concepts/services-networking/service/
- https://kubernetes.io/docs/concepts/services-networking/ingress/
- https://kubernetes.io/docs/concepts/services-networking/gateway/
- https://kubernetes.io/docs/concepts/configuration/configmap/
- https://kubernetes.io/docs/concepts/configuration/secret/
- https://kubernetes.io/docs/concepts/workloads/pods/probes/
- https://v1-36.docs.kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- https://kubernetes.io/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
- https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/
- https://kubernetes.io/docs/concepts/services-networking/
- https://kubernetes.io/docs/concepts/services-networking/network-policies/
- https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
- https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
- https://kubernetes.io/releases/
15-03 Go 在容器中
- https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
- https://go.dev/blog/container-aware-gomaxprocs
- https://pkg.go.dev/runtime@go1.27.2#GOMAXPROCS
- https://go.dev/doc/godebug
- https://pkg.go.dev/runtime/debug@go1.27.2#SetMemoryLimit
- https://go.dev/doc/gc-guide#Memory_limit
- https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination
- https://pkg.go.dev/os/signal@go1.27.2#NotifyContext
- https://pkg.go.dev/net/http@go1.27.2#Server.Shutdown
- https://pkg.go.dev/cmd/cgo
- https://pkg.go.dev/net@go1.27.2#hdr-Name_Resolution
- https://docs.docker.com/reference/dockerfile/#entrypoint
15-04 Go CI-CD 与 GitOps
- https://opengitops.dev/
- https://pkg.go.dev/cmd/go@go1.27.2
- https://go.dev/doc/articles/race_detector
- https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax
- https://docs.sigstore.dev/cosign/verifying/verify/
- https://slsa.dev/spec/v1.1/provenance
- https://argo-cd.readthedocs.io/en/stable/user-guide/auto_sync/
- https://docs.github.com/en/actions/reference/security/secure-use
- https://docs.github.com/en/actions/concepts/security/openid-connect
- https://github.com/actions/setup-go/blob/v7.0.0/README.md
- https://github.com/actions/checkout/commit/3d3c42e5aac5ba805825da76410c181273ba90b1
- https://github.com/actions/setup-go/commit/b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
- https://github.com/actions/upload-artifact/commit/cf430e030ddbb5b0abf93d22962f4752f3646cd9
- https://github.com/actions/checkout/blob/v7.0.1/README.md
- https://github.com/actions/upload-artifact/blob/v7.0.2/README.md
15-05 基础设施即代码
- https://opentofu.org/docs/v1.10/language/state/encryption/
- https://github.com/opentofu/opentofu/blob/v1.10.0/LICENSE
- https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on
- https://developer.hashicorp.com/terraform/language/state/purpose
- https://developer.hashicorp.com/terraform/cli/commands/plan
- https://developer.hashicorp.com/terraform/cli/commands/apply
- https://developer.hashicorp.com/terraform/language/state/locking
- https://developer.hashicorp.com/terraform/language/manage-sensitive-data
- https://developer.hashicorp.com/terraform/language/import
- https://developer.hashicorp.com/terraform/language/modules/develop/refactoring
- https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle
- https://developer.hashicorp.com/terraform/language/modules
- https://developer.hashicorp.com/terraform/language/resources/terraform-data
- https://developer.hashicorp.com/terraform/internals/json-format
- https://developer.hashicorp.com/terraform/language/files/dependency-lock
- https://opentofu.org/docs/intro/migration/migration-guide/
- https://developer.hashicorp.com/terraform/language/providers/requirements
- https://helm.sh/docs/v3/topics/charts/
- https://github.com/hashicorp/terraform/blob/v1.13.4/LICENSE
- https://helm.sh/docs/v3/chart_template_guide/values_files/
- https://helm.sh/docs/v3/helm/helm_template/
- https://helm.sh/docs/v3/faq/changes_since_helm2/
- https://helm.sh/docs/v3/helm/helm_upgrade/
- https://helm.sh/docs/v3/topics/charts_hooks/
- https://helm.sh/docs/v3/chart_best_practices/custom_resource_definitions/
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
- https://kubernetes.io/docs/reference/using-api/server-side-apply/
- https://kubernetes.io/docs/reference/using-api/api-concepts/#dry-run
15-06 后端云服务
- https://aws.amazon.com/compliance/shared-responsibility-model/
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
- https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html
- https://pkg.go.dev/database/sql#DB.SetMaxOpenConns
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html
- https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html
- https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html
- https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html
- https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html
- https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZSingleStandby.html
- https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtime-environment.html
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-policy-actions.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
- https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html
- https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html
- https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html
- https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html
- https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-error-handling.html
- https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html
- https://aws.amazon.com/lambda/pricing/
- https://aws.amazon.com/vpc/pricing/
- https://aws.amazon.com/s3/pricing/
- https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/application/x-forwarded-headers.html
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy-pinning.html
15-07 网关与代理
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html
- https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management
- https://caddyserver.com/docs/caddyfile/directives/reverse_proxy
- https://nginx.org/en/docs/http/configuring_https_servers.html
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_verify
- https://caddyserver.com/docs/automatic-https
- https://nginx.org/en/docs/http/ngx_http_realip_module.html
- https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers
- https://pkg.go.dev/net/http/httputil@go1.27.2#ReverseProxy
- https://caddyserver.com/docs/caddyfile/directives/reverse_proxy#headers
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering
- https://nginx.org/en/docs/http/ngx_http_limit_req_module.html
- https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter
- https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting
- https://caddyserver.com/docs/modules/http.handlers.rate_limit
- https://caddyserver.com/docs/caddyfile/directives/bind
- https://nginx.org/en/download.html
- https://github.com/envoyproxy/envoy/releases/tag/v1.39.4
- https://github.com/caddyserver/caddy/releases/tag/v2.11.7
15-08 Go 云原生工具选型
- https://argo-cd.readthedocs.io/en/stable/user-guide/helm/
- https://docs.docker.com/build/building/multi-stage/
- https://ko.build/
- https://ko.build/reference/ko_build/
- https://ko.build/features/static-assets/
- https://ko.build/advanced/limitations/
- https://ko.build/reference/ko_resolve/
- https://docs.github.com/en/actions/reference/security/secure-use
- https://kubernetes.io/docs/concepts/overview/components/
- https://helm.sh/docs/helm/helm_template/
- https://argo-cd.readthedocs.io/en/stable/operator-manual/architecture/
- https://argo-cd.readthedocs.io/en/stable/user-guide/auto_sync/
- https://github.com/kubernetes/client-go/blob/v0.37.1/README.md
- https://github.com/kubernetes-sigs/controller-runtime
- https://github.com/kubernetes-sigs/controller-runtime/blob/v0.25.2/pkg/reconcile/reconcile.go
- https://github.com/kubernetes-sigs/controller-runtime/blob/v0.25.2/FAQ.md
- https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.25.2/pkg/client/fake
- https://kubernetes.io/docs/reference/access-authn-authz/rbac/
- https://github.com/kubernetes-sigs/controller-runtime#compatibility
- https://docs.docker.com/engine/release-notes/29/#2990
- https://kubernetes.io/releases/
- https://github.com/helm/helm/releases/tag/v4.3.0
- https://github.com/argoproj/argo-cd/releases/tag/v3.5.5
- https://ko.build/configuration/
- https://github.com/ko-build/ko/releases/tag/v0.19.1
- https://github.com/kubernetes-sigs/controller-runtime/blob/v0.25.2/go.mod
16-01 系统设计方法论
- https://sre.google/sre-book/service-level-objectives/
- https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.2
- https://www.postgresql.org/docs/18/ddl-constraints.html
- https://microservices.io/patterns/data/transactional-outbox.html
- https://sre.google/sre-book/handling-overload/
- https://www.postgresql.org/docs/18/transaction-iso.html
16-02 系统容量估算
- https://sre.google/sre-book/service-level-objectives/#aggregation
- https://pubsonline.informs.org/doi/10.1287/opre.9.3.383
- https://research.google/pubs/the-tail-at-scale/
- https://docs.kernel.org/filesystems/tmpfs.html
- https://pkg.go.dev/os@go1.27.2#File.Sync
- https://sre.google/sre-book/service-level-objectives/
16-03 系统设计经典题目
- https://www.postgresql.org/docs/18/ddl-constraints.html
- https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4
- https://www.rfc-editor.org/rfc/rfc9111.html
- https://www.postgresql.org/docs/18/transaction-iso.html#XACT-READ-COMMITTED
- https://redis.io/docs/latest/develop/programmability/eval-intro/
- https://www.usenix.org/system/files/conference/atc13/atc13-bronson.pdf
- https://www.rfc-editor.org/rfc/rfc6455.html
- https://www.rfc-editor.org/rfc/rfc6585.html#section-4
- https://www.rfc-editor.org/rfc/rfc9562.html
- https://github.com/twitter-archive/snowflake/blob/b3f6a3c6ca8e1b6847baa6ff42bf72201e2c2231/src/main/scala/com/twitter/service/snowflake/IdWorker.scala
- https://sre.google/sre-book/distributed-periodic-scheduling/
- https://redis.io/docs/latest/develop/data-types/sorted-sets/
- https://redis.io/docs/latest/commands/incr/
- https://arxiv.org/html/1805.06358v1
- https://redis.io/docs/latest/develop/data-types/probabilistic/hyperloglogs/
- https://www.elastic.co/guide/en/elasticsearch/reference/8.19/search-suggesters.html#completion-suggester
- https://docs.stripe.com/payments/payment-intents/verifying-status
- https://docs.stripe.com/api/idempotent_requests
- https://docs.stripe.com/error-low-level
- https://docs.stripe.com/webhooks
- https://docs.stripe.com/reports/balance
- https://firebase.google.com/docs/cloud-messaging/understand-delivery
- https://kafka.apache.org/41/design/design/#message-delivery-semantics
- https://www.rfc-editor.org/rfc/rfc9110.html
- https://www.postgresql.org/docs/18/transaction-iso.html
- https://www.elastic.co/guide/en/elasticsearch/reference/8.19/search-suggesters.html
- https://kafka.apache.org/41/design/design/
16-04 架构演进
- https://martinfowler.com/bliki/MonolithFirst.html
- https://microservices.io/patterns/data/transactional-outbox.html
- https://kafka.apache.org/41/design/design/#message-delivery-semantics
- https://martinfowler.com/bliki/CQRS.html
- https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs
- https://martinfowler.com/eaaDev/EventSourcing.html
- https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing
- https://www.postgresql.org/docs/18/hot-standby.html
- https://microservices.io/patterns/data/saga.html
- https://learn.microsoft.com/en-us/azure/architecture/patterns/compensating-transaction
- https://martinfowler.com/bliki/StranglerFigApplication.html
- https://kafka.apache.org/41/design/design/
16-05 Go 源码阅读方法
- https://github.com/golang/go/blob/go1.27.2/src/net/http/client.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/roundtrip.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/transport.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/transport_test.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/server.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/request.go
- https://github.com/golang/go/blob/go1.27.2/src/net/http/serve_test.go
- https://github.com/golang/go/blob/go1.27.2/src/sync/once.go
- https://go.dev/ref/mem
- https://github.com/golang/go/blob/go1.27.2/src/sync/once_test.go
- https://github.com/golang/go/blob/go1.27.2/src/internal/sync/mutex.go
- https://github.com/golang/go/blob/go1.27.2/src/sync/waitgroup.go
- https://github.com/golang/go/blob/go1.27.2/src/sync/pool.go
- https://github.com/golang/go/blob/go1.27.2/src/sync/rwmutex.go
- https://github.com/golang/go/blob/go1.27.2/src/sync/map.go
- https://github.com/golang/go/blob/go1.27.2/src/context/context.go
- https://github.com/golang/go/blob/go1.27.2/src/context/context_test.go
- https://github.com/gin-gonic/gin/blob/v1.11.0/gin.go
- https://github.com/gin-gonic/gin/blob/v1.11.0/tree.go
- https://github.com/gin-gonic/gin/blob/v1.11.0/context.go
- https://github.com/gin-gonic/gin/blob/v1.11.0/context_test.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/health/grpc_health_v1/health_grpc.pb.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/call.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/stream.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/clientconn.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/server.go
- https://github.com/grpc/grpc-go/tree/v1.75.1/internal/transport
- https://github.com/grpc/grpc-go/blob/v1.75.1/Documentation/concurrency.md
- https://github.com/grpc/grpc-go/blob/v1.75.1/test/end2end_test.go
- https://github.com/grpc/grpc-go/blob/v1.75.1/test/bufconn/bufconn.go
- https://raft.github.io/raft.pdf
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/README.md
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/rawnode.go
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/node.go
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/raft.go
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/log.go
- https://github.com/etcd-io/raft/blob/f35a02212416d045c574e30aa59d4b07c4b8d732/rawnode_test.go
- https://github.com/redis/go-redis/blob/v9.14.1/string_commands.go
- https://github.com/redis/go-redis/blob/v9.14.1/command.go
- https://github.com/redis/go-redis/blob/v9.14.1/redis.go
- https://github.com/redis/go-redis/blob/v9.14.1/pipeline.go
- https://github.com/redis/go-redis/blob/v9.14.1/pipeline_test.go
- https://github.com/redis/go-redis/blob/v9.14.1/error.go
- https://github.com/redis/go-redis/blob/v9.14.1/internal/pool/conn.go
- https://github.com/redis/go-redis/blob/v9.14.1/options.go
- https://go.dev/ref/mod