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

JConf Peru 2023 - Core Banking Modernization with kafka connect framework

JConf Peru 2023 - Core Banking Modernization with kafka connect framework

En esta charla contare como es posible modernizar el core banking con el framework Kafka Connect en un ecosistema kafka.

Kafka Connect es un poderoso framework que te permite conectar tus sistemas legacy a Kafka.

Durante la charla, cubriremos los siguientes temas:

Introducción a Kafka Connect.
Tipos de conectores de Kafka Connect.
Implementación de un conector de Kafka Connect (Demo).
Ejemplos de uso de Kafka Connect en core banking.

Carlos Zela Bueno

December 04, 2023
Tweet

More Decks by Carlos Zela Bueno

Other Decks in Programming

Transcript

  1. Core Banking Modernization ¡Un universo de conocimientos esperan por ti!

    Diciembre 2023 Kafka Connect Dennis Paitan Oscar Pando
  2. Request / Reply Message-Driven Event-Driven Streaming ❑+ Broker “Message/Event”, protocolo

    async. ❑one-way ❑más desacoplados y escalables ❑Útil “long-running process” ❑aumenta la complejidad. • Mecanismo pull, los consumer solicitan batches de eventos • One-to-one, many-to-one, one-to-many o many-to-many. • Productores publican eventos y no comandos. • Productores no necesitan conocer a los consumidores. • Usualmente único receptor del msg, “Point-to- Point” • minimiza el acoplamiento • Mecanismo Push para enviar los msgs hacia los consumers. • Baja latencia, procesan un flujo de datos infinitos en movimiento. • Flujos de datos creados a partir de event domains. • Time-agnostic : filtros, joins • Windowing : agrupar eventos, correlacionar en base al tiempo • Approximation : aplicación de algoritmos de ML para streaming Principios – Async Communication Patterns Highly cohesive Loosely coupled
  3. Event-Driven • Muchas aplicaciones/servicios deben procesar los mismos eventos. (broadcast

    de eventos) • Aplicaciones asíncronas transaccionales con alto througput. • Procesamiento en tiempo real con baja latencia • Aplicaciones asíncronas que requieran procesar eventos en paralelo garantizando el orden Azure EventHub Streaming • La acumulación de hechos “eventos” en una ventana de tiempo y capturar el comportamiento. • Procesamiento en real time de un flujo de eventos a medida que ocurren en el cual se necesite realizar agregaciones, joins, y/o analizar la informacion. • Complex event processing. • Aplicaciones que interactúan con fuentes de datos masivos y un flujo de datos infinito. • Cuando se necesite actuar sobre datos que pueden cambiar en milisegundos volviéndose obsoletos. Cuando usar Asynchronous Communication Patterns Criterios Tecnologías en BCP ,
  4. “Two primitive APIs” para acceder a los datos almacenados en:

    Two higher-level APIs Overview de la arquitectura de Kafka
  5. Kafka Connect Durable Data Pipelines • Captura el schema del

    source, usa el schema para informar al sink. • Alta disponibilidad de los workers aseguran un flujo de datos ininterrumpido. • Framework extensible para crear conectores personalizados. Overview
  6. Overview -Conectores Kafka en el BCP Kafka Confluent Platform MultiRegion

    Pub OnPrem Azure Cloud Hybrid Conectores Kafka CHO LMO Kafka Confluent Platform Real-time Risk Detection Real-time Fraud Detection Real-time Metrics Views Business Decision (BRMS) Sinks Sources Data Sources Sub Consumers Kafka Streams Conectores Kafka Conectores Kafka Redis Sink Connector Azure Functions Sink Connector Azure Service Bus Source Connector Server Sent Events SSE Source Connector Debezium SQL Server CDC Source Connector Azure Data Explorer Sink Connector IBM MQ Sink Connector Azure Log Analytics Sink Connector HTTP Sink Connector JDBC Nested Set Sink Connector MQTT Connector (Source and Sink) SFTP Connector (Source and Sink) Google Firebase Realtime Database Connector (Source and Sink) Azure IoT Hub Connector (Source and Sink) Kafka Azure Key Vault Config Provider Backlog Data Sinks
  7. Conceptos - Tasks • El número de task es limitadoa

    travéz de la configuración ‘tasks.max’ • Se crearan tantos Workers como se les diga. • El rebalanceode Tasks es similar al de los consumers • No hay garantiade que un task vayaa algun worker en especifico. Topic-Offset Topic-Status Topic-Config
  8. Conceptos - Transforms Cuando Usar: • Data Masking • Event

    Routing • Event Enhancement • Partitioning • Timestamp Conversion https://docs.confluent.io/platform/current/connect/transforms/overview.html
  9. Conclusiones • Los conectores son componentes ligeros y eficientes para

    interactuar con tópicos Kafka y tecnologías externas abstrayendo seguridad, protocolos, complejidad, etc. • No es necesario implementar lógica en lenguajes de programación para integrar tópicos con tecnologías externas. • Los conectores Kafka se integran nativamente con schema registry.