├── .gitignore ├── LICENSE ├── README.md ├── ch9 ├── kit │ ├── user_agent │ │ ├── client │ │ │ ├── user_agent_client.go │ │ │ └── user_agent_test.go │ │ ├── logs │ │ │ ├── go-kit-debug.log │ │ │ ├── go-kit-info.log │ │ │ └── go-kit-warn.log │ │ ├── main.go │ │ ├── pb │ │ │ ├── make.sh │ │ │ ├── service.pb.go │ │ │ ├── service.proto │ │ │ ├── user.pb.go │ │ │ └── user.proto │ │ ├── src │ │ │ ├── endpoint.go │ │ │ ├── middleware_endpoint.go │ │ │ ├── middleware_server.go │ │ │ ├── service.go │ │ │ └── transport_server.go │ │ └── user_agent │ └── utils │ │ ├── jwt.go │ │ ├── jwt_test.go │ │ ├── log.go │ │ ├── log_util.go │ │ └── zap_log_error_handler.go ├── micro │ ├── api1 │ │ └── main.go │ ├── api2 │ │ └── main.go │ ├── auth_server │ │ ├── auth_server.go │ │ └── router │ │ │ └── router.go │ ├── client │ │ └── client.go │ ├── grpcexample │ │ ├── README.md │ │ ├── cli │ │ │ └── main.go │ │ ├── common │ │ │ └── common.go │ │ ├── proto │ │ │ └── common.proto │ │ └── srv │ │ │ └── main.go │ ├── srv │ │ ├── proto │ │ │ ├── demo │ │ │ │ ├── hello.pb.go │ │ │ │ ├── hello.pb.micro.go │ │ │ │ └── hello.proto │ │ │ ├── greeter.pb.go │ │ │ ├── greeter.pb.micro.go │ │ │ └── greeter.proto │ │ ├── server.go │ │ ├── srv1 │ │ │ └── main.go │ │ └── srv2 │ │ │ └── main.go │ ├── test.http │ └── user_server │ │ ├── router │ │ └── router.go │ │ └── user_server.go └── native │ ├── client │ └── client.go │ └── user_server.go ├── client ├── client_init_test.go ├── kv_test.go ├── lease_test.go ├── lock_test.go ├── op_test.go └── watch_test.go ├── cmd └── main.go └── go.mod /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/README.md -------------------------------------------------------------------------------- /ch9/kit/user_agent/client/user_agent_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/client/user_agent_client.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/client/user_agent_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/client/user_agent_test.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/logs/go-kit-debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/logs/go-kit-debug.log -------------------------------------------------------------------------------- /ch9/kit/user_agent/logs/go-kit-info.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/logs/go-kit-info.log -------------------------------------------------------------------------------- /ch9/kit/user_agent/logs/go-kit-warn.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/logs/go-kit-warn.log -------------------------------------------------------------------------------- /ch9/kit/user_agent/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/main.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/pb/make.sh: -------------------------------------------------------------------------------- 1 | protoc --go_out=plugins=grpc:. *.proto -------------------------------------------------------------------------------- /ch9/kit/user_agent/pb/service.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/pb/service.pb.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/pb/service.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/pb/service.proto -------------------------------------------------------------------------------- /ch9/kit/user_agent/pb/user.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/pb/user.pb.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/pb/user.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/pb/user.proto -------------------------------------------------------------------------------- /ch9/kit/user_agent/src/endpoint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/src/endpoint.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/src/middleware_endpoint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/src/middleware_endpoint.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/src/middleware_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/src/middleware_server.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/src/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/src/service.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/src/transport_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/src/transport_server.go -------------------------------------------------------------------------------- /ch9/kit/user_agent/user_agent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/user_agent/user_agent -------------------------------------------------------------------------------- /ch9/kit/utils/jwt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/utils/jwt.go -------------------------------------------------------------------------------- /ch9/kit/utils/jwt_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/utils/jwt_test.go -------------------------------------------------------------------------------- /ch9/kit/utils/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/utils/log.go -------------------------------------------------------------------------------- /ch9/kit/utils/log_util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/utils/log_util.go -------------------------------------------------------------------------------- /ch9/kit/utils/zap_log_error_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/kit/utils/zap_log_error_handler.go -------------------------------------------------------------------------------- /ch9/micro/api1/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/api1/main.go -------------------------------------------------------------------------------- /ch9/micro/api2/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/api2/main.go -------------------------------------------------------------------------------- /ch9/micro/auth_server/auth_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/auth_server/auth_server.go -------------------------------------------------------------------------------- /ch9/micro/auth_server/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/auth_server/router/router.go -------------------------------------------------------------------------------- /ch9/micro/client/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/client/client.go -------------------------------------------------------------------------------- /ch9/micro/grpcexample/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/grpcexample/README.md -------------------------------------------------------------------------------- /ch9/micro/grpcexample/cli/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/grpcexample/cli/main.go -------------------------------------------------------------------------------- /ch9/micro/grpcexample/common/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/grpcexample/common/common.go -------------------------------------------------------------------------------- /ch9/micro/grpcexample/proto/common.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/grpcexample/proto/common.proto -------------------------------------------------------------------------------- /ch9/micro/grpcexample/srv/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/grpcexample/srv/main.go -------------------------------------------------------------------------------- /ch9/micro/srv/proto/demo/hello.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/demo/hello.pb.go -------------------------------------------------------------------------------- /ch9/micro/srv/proto/demo/hello.pb.micro.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/demo/hello.pb.micro.go -------------------------------------------------------------------------------- /ch9/micro/srv/proto/demo/hello.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/demo/hello.proto -------------------------------------------------------------------------------- /ch9/micro/srv/proto/greeter.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/greeter.pb.go -------------------------------------------------------------------------------- /ch9/micro/srv/proto/greeter.pb.micro.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/greeter.pb.micro.go -------------------------------------------------------------------------------- /ch9/micro/srv/proto/greeter.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/proto/greeter.proto -------------------------------------------------------------------------------- /ch9/micro/srv/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/server.go -------------------------------------------------------------------------------- /ch9/micro/srv/srv1/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/srv1/main.go -------------------------------------------------------------------------------- /ch9/micro/srv/srv2/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/srv/srv2/main.go -------------------------------------------------------------------------------- /ch9/micro/test.http: -------------------------------------------------------------------------------- 1 | GET http://localhost:8001/users 2 | Accept: application/json 3 | 4 | ### -------------------------------------------------------------------------------- /ch9/micro/user_server/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/user_server/router/router.go -------------------------------------------------------------------------------- /ch9/micro/user_server/user_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/micro/user_server/user_server.go -------------------------------------------------------------------------------- /ch9/native/client/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/native/client/client.go -------------------------------------------------------------------------------- /ch9/native/user_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/ch9/native/user_server.go -------------------------------------------------------------------------------- /client/client_init_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/client_init_test.go -------------------------------------------------------------------------------- /client/kv_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/kv_test.go -------------------------------------------------------------------------------- /client/lease_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/lease_test.go -------------------------------------------------------------------------------- /client/lock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/lock_test.go -------------------------------------------------------------------------------- /client/op_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/op_test.go -------------------------------------------------------------------------------- /client/watch_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/client/watch_test.go -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/cmd/main.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longjoy/etcd-book-code/HEAD/go.mod --------------------------------------------------------------------------------