Upgrade to Pro — share decks privately, control downloads, hide ads and more …

gRPC e Go Porque e Quando usar

gRPC e Go Porque e Quando usar

Olá pessoal, o conteúdo que apresentar é sobre um tema que é sempre discutido por toda comunidade e muito utilizado em diversos cenários como comunicações entre services que precisamos ter um menor Throughput na rede e desempenho. Antes vamos da uma passada no http, http2, rEST e RPC rapidamente só para criamos uma linha do tempo e raciocínio do porque do gRPC.
Vamos abordar algumas vantagens de desvantagens do gRPC e vamos apresentar alguns códigos exemplos de como funcionar na prática o gRPC, vou apresentar algumas funções deste framework fantástico criado pelo google. E é claro não poderia deixar de fora nosso o protobuf que é o pontapé de tudo para aprendermos gRPC e aplicarmos no dia a dia.
Estou montando os slides para 20 a 25 min de palestra e um mão na massa só para exemplificar na prática o funcionamento do gRPC e é claro apresentar as vantagens de usar Go e gRPC.
Vamos tentar fazer uma apresentação bem divertida e animada e com bastante informações legais.

Jefferson Otoni Lima

June 26, 2020
Tweet

More Decks by Jefferson Otoni Lima

Other Decks in Programming

Transcript

  1. @jeffotoni Comunidade Telegram https://t.me/go_br https://t.me/go_bh https://t.me/golangcwb Slack https://gophers.slack.com (members >~45k)

    GopherCon Brasil 2020 https://2020.gopherconbr.org Wiki Conferencias https://github.com/golang/go/wiki/Conferences Meetup https://www.meetup.com/go-belo-horizonte https://www.meetup.com/pt-BR/golangbr https://www.meetup.com/pt-BR/Women-Who-Go-Sampa https://www.meetup.com/pt-BR/Golang-Campinas/ https://www.meetup.com/pt-BR/golang-poa/ https://www.meetup.com/pt-BR/GolangCWB/
  2. serviços/protocolos @jeffotoni RPC TCP/UDP/http REST http SOAP http xml-RPC http

    RMI tcp Representational State Transfer Remote Procedure Call Simple Object Access Protocol Remote Method Invocation webSocket http/tcp comunicação bidirecional por canais full-duplex e usa o schema: ws:// ou wss://
  3. /auth POST /user GET /user/{uuid} GET /user/{uuid} DELETE /user/{uuid} PUT

    1M requests/s 50k requests/s 100k requests/s 60k requests/s 1k requests/s service 1 service 2 service 3 service 4 service 5
  4. @jeffotoni Api rEST em Go - Endpoints - Middleware -

    Instrumentar - Dockerfile - Deploy
  5. RPC server Go - Register - Metodos - Instrumentar -

    Dockerfile - Deploy @jeffotoni
  6. referências https://golang.org https://grpc.io/docs/tutorials/basic/go https://github.com/grpc/grpc-go/tree/master/examples https://developers.google.com/protocol-buffers/docs/gotutorial https://github.com/uw-labs/bloomrpc (curl ou posltman para

    grpc) https://itnext.io/learning-go-mongodb-crud-with-grpc-98e425aeaae6 https://encurtador.com.br/fHKSU https://encurtador.com.br/eqvJ2 https://gokit.io/examples/ links