Este repo são exemplos que foram demostrados na palestra Grpc e GO.
Temos exemplos de APIS, RPC e GRPC.
- No diretório Apis temos um rEST e seu Dockerfile.
- No diretório gRPC temos nosso famigerado exemplo rodando gRPC.
- No diretório RPC temos nosso server e client RPC.
Grpc é um framework.
Primeiro passo é instalar nosso protobuf e entender como ele funciona.
[proto v1.3]
$ go get github.com/golang/protobuf/protoc-gen-go@v1.3
[proto gen]
$ go get -u github.com/golang/protobuf/protoc-gen-go
$ curl -i -X POST localhost:8080/auth
$ curl -i -X POST localhost:8080/user
$ curl -i -X GET localhost:8080/user/uuid
$ go run main.go
$ CGO_ENABLED=0 go build -ldflags="-s -w" -o api.rest api-rest.go
$ ./api.rest
$ docker build --no-cache -f Dockerfile -t jeffotoni/api.rest:latest .
$ docker run -p 8080:8080 --rm --name api.rest jeffotoni/api.rest
Primeiramente suba o server, logo depois execute o client
$ go run main.go
$ CGO_ENABLED=0 go build -ldflags="-s -w" -o rpc.server main.go
Primeiramente suba o server, logo depois execute o client.
$ go run main.go
$ CGO_ENABLED=0 go build -ldflags="-s -w" -o grpc.server main.go
Aqui está passo a passo como configurar o nginx com http/3.
$ docker run --name nginx -d -p 80:80 -p 443:443/tcp -p 443:443/udp \
-v /etc/letsencrypt/:/opt/nginx/certs/ \
-v /opt/nginx/conf/example.nginx.conf:/etc/nginx/nginx.conf ymuski/nginx-quic
Aqui está uma implementação em Go sob o protocolo quic para que possa tirar proveito do http/3