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.

Elton Minetto

February 05, 2021
Tweet

More Decks by Elton Minetto

Other Decks in Programming

Transcript

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

    View Slide

  2. Por que Go
    kit?

    View Slide

  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

    View Slide

  4. Arquitetura

    View Slide

  5. View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  9. TALK IS CHEAP,
    SHOW ME THE CODE!

    View Slide

  10. View Slide

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

    View Slide

  12. Referências

    View Slide

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

    View Slide

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

    View Slide