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 full-size 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 full-size slide

  3. https://broad.app

    View full-size slide

  4. MUTABILIDADE

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. SpaceTimeContinuumException

    View full-size slide

  8. Registro eterno da
    verdade

    View full-size slide

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

    View full-size slide

  10. Defina um Schema

    View full-size slide

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

    View full-size slide

  12. Schema Registry

    View full-size slide

  13. https://confluent.io

    View full-size slide

  14. https://cloudevents.io

    View full-size slide

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

    View full-size slide

  16. https://confluent.io

    View full-size slide

  17. https://confluent.io

    View full-size slide

  18. https://confluent.io

    View full-size slide

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

    View full-size slide

  20. Segurança (GDPR / LGPD)

    View full-size slide

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

    View full-size slide

  22. Mas… e o meu db?

    View full-size slide

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

    View full-size slide

  24. 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 full-size slide

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

    View full-size slide