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

Microsserviços usando Go kit

Microsserviços usando Go kit

Nesta palestra apresento o Go kit, um toolkit para o desenvolvimento de microsserviços em Go que fornece uma série de funcionalidades importantes como log, métricas, middlewares, etc.

0227f6274b8a6cce078d7f8a91460c41?s=128

Elton Minetto

February 05, 2021
Tweet

Transcript

  1. Microsserviços usando Go Kit https://eltonminetto.dev

  2. Por que Go kit?

  3. Go é uma ótima linguagem de uso geral, mas microsserviços

    exigem uma certa quantidade de suporte especializado. Segurança, RPC, observabilidade do sistema, infraestrutura e até mesmo design de arquitetura. Go kit preenche as lacunas deixadas pela biblioteca padrão e torna o Go uma linguagem de primeira classe para escrever microsserviços em qualquer organização. https://gokit.io
  4. Arquitetura

  5. None
  6. Service Os serviços são onde toda a lógica de negócios

    é implementada. No Go kit, os serviços são normalmente modelados como interfaces e as implementações dessas interfaces contêm a lógica de negócios. A lógica de negócios não deve ter conhecimento dos conceitos de das outras camadas. Por exemplo, seu serviço não deve saber nada sobre cabeçalhos HTTP ou códigos de erro gRPC.
  7. Endpoint Um endpoint é como uma action/ handler em um

    controller. Um endpoint expõe um método/ função de serviço para o mundo externo usando a camada de transporte. Um único endpoint pode ser exposto usando vários transportes.
  8. Transport O domínio de transporte está vinculado a transportes concretos

    como HTTP ou gRPC. Em um mundo onde os microsserviços podem oferecer suporte a um ou mais transportes, isso é muito poderoso; você pode oferecer suporte a uma API HTTP e um serviço RPC mais recente, tudo em um único microsserviço.
  9. TALK IS CHEAP, SHOW ME THE CODE!

  10. None
  11. https://github.com/eminetto/talk-microservices- gokit

  12. Referências

  13. Go kit Go Microservices with Go kit: Introduction Pattern: Microservice

    chassis
  14. https://eltonminetto.dev https://trybe.gupy.io https://twitter.com/eminetto