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

Usando Kafka como fonte da verdade

Usando Kafka como fonte da verdade

Slides da palestra no DNAD 2020: https://youtu.be/8WTGTlDJlbE?t=10140

Mutabilidade é a raiz de todo o mal. Muitas soluções foram adotadas com o passar dos anos para lidar com esse problema, tal qual programação funcional e infraestrutura imutável. Porém, quando falamos sobre como estruturar dados, ainda são utilizadas as mesmas bases da dados, as quais permitem inconsistências e altamente propensas a falhas. Essa palestra vai mostrar que Apache Kafka pode ser usado não apenas para comunicação entre serviços, mas como uma poderosa base de dados: imutável, consistente e performática. A espinha dorsal e fonte da verdade em um sistema.

Juliano Alves

December 28, 2020
Tweet

More Decks by Juliano Alves

Other Decks in Technology

Transcript

  1. Usando Kafka como fonte da verdade
    Juliano Alves
    @vonjuliano
    juliano-alves.com

    View Slide

  2. Quem sou eu?
    ● CTO na broad.app
    Programador Funcional
    Zouk Dancer
    Ex-Lambda3 ;)
    ● Linguagens maneiras
    Scala, Clojure, Elixir
    ● Linguagens clássicas
    Java, C#, Python, Ruby
    @vonjuliano
    juliano-alves.com

    View Slide

  3. https://broad.app

    View Slide

  4. View Slide

  5. MUTABILIDADE

    View Slide

  6. View Slide

  7. https://hipsters.tech/scala-hipsters-210/

    View Slide

  8. View Slide

  9. View Slide

  10. https://www.thoughtworks.com/insights/articles/understanding-clouds-significance

    View Slide

  11. View Slide

  12. Contexto

    View Slide

  13. View Slide

  14. SpaceTimeContinuumException

    View Slide

  15. Registro eterno da
    verdade

    View Slide

  16. View Slide

  17. https://www.confluent.io/blog/build-streaming-etl-solutions-with-kafka-and-rail-data/

    View Slide

  18. Defina um Schema

    View Slide

  19. Explicitamente parte do
    domínio
    Versionamento
    (exceto JSON)
    Mensagens menores
    (não recomendado)
    Evolução do Schema...

    View Slide

  20. Schema Registry

    View Slide

  21. https://confluent.io

    View Slide

  22. https://cloudevents.io

    View Slide

  23. Projeções e Transformações
    com Kafka Streams

    View Slide

  24. https://confluent.io

    View Slide

  25. https://confluent.io

    View Slide

  26. https://confluent.io

    View Slide

  27. Queries?

    View Slide

  28. https://docs.confluent.io/platform/current/streams/developer-guide/interactive-queries.html

    View Slide

  29. Segurança (GDPR / LGPD)

    View Slide

  30. Tópicos dedicados a
    dados sensíveis
    Criptografia
    Tempo de vida limitado
    https://github.com/pi2schema/pi2schema

    View Slide

  31. Mas… e o meu db?

    View Slide

  32. https://www.confluent.io/blog/build-streaming-etl-solutions-with-kafka-and-rail-data/

    View Slide

  33. Conclusão

    View Slide

  34. Kafka é a fonte da
    verdade ideal
    Mensagens persistentes e imutáveis
    Imutável
    Defina o formato das mensagens e
    acompanhe sua evolução
    Schema
    Kafka Streams, KTable e KStream
    Pense à frente
    Mensagens encriptadas e com
    tempo de vida definidas
    Seguro

    View Slide

  35. Dúvidas?

    View Slide

  36. Usando Kafka como fonte da verdade
    Juliano Alves
    @vonjuliano
    juliano-alves.com
    Obrigado!

    View Slide