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.

6b8d8f84c065846e8ec1f12f67d79991?s=128

Juliano Alves

December 28, 2020
Tweet

Transcript

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

  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
  3. https://broad.app

  4. None
  5. MUTABILIDADE

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

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

  11. None
  12. Contexto

  13. None
  14. SpaceTimeContinuumException

  15. Registro eterno da verdade

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

  18. Defina um Schema

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

    recomendado) Evolução do Schema...
  20. Schema Registry

  21. https://confluent.io

  22. https://cloudevents.io

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

  24. https://confluent.io

  25. https://confluent.io

  26. https://confluent.io

  27. Queries?

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

  29. Segurança (GDPR / LGPD)

  30. Tópicos dedicados a dados sensíveis Criptografia Tempo de vida limitado

    https://github.com/pi2schema/pi2schema
  31. Mas… e o meu db?

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

  33. Conclusão

  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
  35. Dúvidas?

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

    Obrigado!