Skip to content

Commit 0c1c5ed

Browse files
committed
add notes for grpc
Signed-off-by: Liang Zheng <[email protected]>
1 parent edee0f1 commit 0c1c5ed

File tree

6 files changed

+22
-7
lines changed

6 files changed

+22
-7
lines changed

client/v3/internal/resolver/resolver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const (
2727

2828
// EtcdManualResolver is a Resolver (and resolver.Builder) that can be updated
2929
// using SetEndpoints.
30+
// TODO(zhengliang): 不明白
3031
type EtcdManualResolver struct {
3132
*manual.Resolver
3233
endpoints []string

client/v3/maintenance.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ func (m *maintenance) Defragment(ctx context.Context, endpoint string) (*Defragm
208208
}
209209

210210
func (m *maintenance) Status(ctx context.Context, endpoint string) (*StatusResponse, error) {
211+
m.lg.Info("*** maintenance endpoint", zap.String("endpoint", endpoint))
211212
remote, cancel, err := m.dial(endpoint)
212213
if err != nil {
213214
return nil, toErr(ctx, err)

etcdctl/ctlv3/command/global.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import (
2626
"github.com/bgentry/speakeasy"
2727
"go.etcd.io/etcd/client/pkg/v3/srv"
2828
"go.etcd.io/etcd/client/pkg/v3/transport"
29-
"go.etcd.io/etcd/client/v3"
29+
clientv3 "go.etcd.io/etcd/client/v3"
3030
"go.etcd.io/etcd/pkg/v3/cobrautl"
3131
"go.etcd.io/etcd/pkg/v3/flags"
3232

@@ -112,6 +112,7 @@ func (*discardValue) String() string { return "" }
112112
func (*discardValue) Set(string) error { return nil }
113113
func (*discardValue) Type() string { return "" }
114114

115+
// 根据 cobra.Command 初始化 client config
115116
func clientConfigFromCmd(cmd *cobra.Command) *clientConfig {
116117
lg, err := zap.NewProduction()
117118
if err != nil {

server/embed/etcd.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,15 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) {
126126
"configuring peer listeners",
127127
zap.Strings("listen-peer-urls", e.cfg.getLPURLs()),
128128
)
129-
if e.Peers, err = configurePeerListeners(cfg); err != nil {
129+
if e.Peers, err = configurePeerListeners(cfg); err != nil { // peers
130130
return e, err
131131
}
132132

133133
e.cfg.logger.Info(
134134
"configuring client listeners",
135135
zap.Strings("listen-client-urls", e.cfg.getLCURLs()),
136136
)
137-
if e.sctxs, err = configureClientListeners(cfg); err != nil {
137+
if e.sctxs, err = configureClientListeners(cfg); err != nil { //clients
138138
return e, err
139139
}
140140

@@ -470,6 +470,7 @@ func (e *Etcd) Err() <-chan error {
470470
return e.errc
471471
}
472472

473+
// 配置 peer listeners
473474
func configurePeerListeners(cfg *Config) (peers []*peerListener, err error) {
474475
if err = updateCipherSuites(&cfg.PeerTLSInfo, cfg.CipherSuites); err != nil {
475476
return nil, err
@@ -531,6 +532,7 @@ func configurePeerListeners(cfg *Config) (peers []*peerListener, err error) {
531532
}
532533

533534
// configure peer handlers after rafthttp.Transport started
535+
// 服务 peers
534536
func (e *Etcd) servePeers() (err error) {
535537
ph := etcdhttp.NewPeerHandler(e.GetLogger(), e.Server)
536538
var peerTLScfg *tls.Config
@@ -590,6 +592,7 @@ func (e *Etcd) servePeers() (err error) {
590592
return nil
591593
}
592594

595+
// 配置 client listeners
593596
func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err error) {
594597
if err = updateCipherSuites(&cfg.ClientTLSInfo, cfg.CipherSuites); err != nil {
595598
return nil, err
@@ -632,6 +635,7 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro
632635
continue
633636
}
634637

638+
// 启动 listener
635639
if sctx.l, err = transport.NewListenerWithOpts(addr, u.Scheme,
636640
transport.WithSocketOpts(&cfg.SocketOpts),
637641
transport.WithSkipTLSInfoCheck(true),
@@ -675,13 +679,17 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro
675679
}
676680
sctx.serviceRegister = cfg.ServiceRegister
677681
if cfg.EnablePprof || cfg.LogLevel == "debug" {
682+
// enable pprof or debug mode
678683
sctx.registerPprof()
679684
}
680685
if cfg.LogLevel == "debug" {
681686
sctx.registerTrace()
682687
}
683688
sctxs[addr] = sctx
684689
}
690+
for _, sctx := range sctxs {
691+
cfg.logger.Info("****LCUrls", zap.String("lcurls sctxs", fmt.Sprintf("%#v", sctx)))
692+
}
685693
return sctxs, nil
686694
}
687695

@@ -709,6 +717,7 @@ func (e *Etcd) serveClients() (err error) {
709717
h = v2http.NewClientHandler(e.GetLogger(), e.Server, e.Server.Cfg.ReqTimeout())
710718
}
711719
} else {
720+
// v3 请求
712721
mux := http.NewServeMux()
713722
etcdhttp.HandleBasic(e.cfg.logger, mux, e.Server)
714723
etcdhttp.HandleMetricsHealthForV3(e.cfg.logger, mux, e.Server)

server/embed/serve.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ func (sctx *serveCtx) serve(
100100
sctx.lg.Info("ready to serve client requests")
101101

102102
m := cmux.New(sctx.l)
103-
v3c := v3client.New(s)
104-
servElection := v3election.NewElectionServer(v3c)
105-
servLock := v3lock.NewLockServer(v3c)
103+
v3c := v3client.New(s) // 创建 client
104+
servElection := v3election.NewElectionServer(v3c) // election
105+
servLock := v3lock.NewLockServer(v3c) // lock
106106

107107
var gs *grpc.Server
108108
defer func() {
@@ -112,7 +112,7 @@ func (sctx *serveCtx) serve(
112112
}()
113113

114114
if sctx.insecure {
115-
gs = v3rpc.Server(s, nil, nil, gopts...)
115+
gs = v3rpc.Server(s, nil, nil, gopts...) // 创建 grpc server
116116
v3electionpb.RegisterElectionServer(gs, servElection)
117117
v3lockpb.RegisterLockServer(gs, servLock)
118118
if sctx.serviceRegister != nil {
@@ -138,6 +138,7 @@ func (sctx *serveCtx) serve(
138138
httpl := m.Match(cmux.HTTP1())
139139
go func() { errHandler(srvhttp.Serve(httpl)) }()
140140

141+
// 同时支持 grpc server and http server
141142
sctx.serversC <- &servers{grpc: gs, http: srvhttp}
142143
sctx.lg.Info(
143144
"serving client traffic insecurely; this is strongly discouraged!",
@@ -216,6 +217,7 @@ func grpcHandlerFunc(grpcServer *grpc.Server, otherHandler http.Handler) http.Ha
216217

217218
type registerHandlerFunc func(context.Context, *gw.ServeMux, *grpc.ClientConn) error
218219

220+
// 注册 grpc gateway
219221
func (sctx *serveCtx) registerGateway(opts []grpc.DialOption) (*gw.ServeMux, error) {
220222
ctx := sctx.ctx
221223

server/etcdserver/api/v3rpc/grpc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const (
3636
maxSendBytes = math.MaxInt32
3737
)
3838

39+
// grpc server
3940
func Server(s *etcdserver.EtcdServer, tls *tls.Config, interceptor grpc.UnaryServerInterceptor, gopts ...grpc.ServerOption) *grpc.Server {
4041
var opts []grpc.ServerOption
4142
opts = append(opts, grpc.CustomCodec(&codec{}))

0 commit comments

Comments
 (0)