8000 GitHub - jeffotoni/gogrpc.palestra: grpc, http/2, htp/3 go/golang
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jeffotoni/gogrpc.palestra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poc Palestra

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.

Instalar proto

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

Ferramentas para Client grpc

API

$ curl -i -X POST localhost:8080/auth
$ curl -i -X POST localhost:8080/user
$ curl -i -X GET localhost:8080/user/uuid

Executando API

$ go run main.go

Compilando API

$ CGO_ENABLED=0 go build -ldflags="-s -w" -o api.rest api-rest.go
$ ./api.rest

Subindo em Docker

$ docker build --no-cache -f Dockerfile -t jeffotoni/api.rest:latest .
$ docker run -p 8080:8080 --rm --name api.rest jeffotoni/api.rest 

RPC

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

gRPC

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

HTTP/3

Aqui está passo a passo como configurar o nginx com http/3.

http/3 docker

$ 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

Implementação quic-go

Aqui está uma implementação em Go sob o protocolo quic para que possa tirar proveito do http/3

start guic-go

About

grpc, http/2, htp/3 go/golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0