Cod: EAS-026
Durata: 24 ore
Durata: 24 ore
Descriere
Acest training te va ajuta sa intelegi arhitectura si modul in care functioneaza Apache Kafka, o platforma de streaming open source. Vom implementa Java-based si REST-based clients pentru Kafka cluster access, vom discuta despre configurarea unui cluster si client pentru a obtine un compromis intre latenta, randament, durabilitate si disponibilitate. De asemenea vom aborda si multi-cluster setting care este vitala pentru a atinge fault-tolerance si a promova scalabilitatea.Kafka Connect permite rezolvarea sarcinilor comune precum mutarea datelor intre Kafka si alte sisteme externe (DBMS, file system, etc.). Folosirea Kafka Streams este recomandata pentru a construi solutii de streaming processing rapide si reziliente.
Subiecte curs
Prezentare- Ce este Kafka?
- Kafka Use Cases si Anti Use Cases
- Kafka vs Database
- Kafka vs Message Queue
- Kafka Storage Architecture: Brokers, Topics, Partitions, Segments, Replicas
- Kafka Cluster Architecture: Zookeeper, Partition Assignment, Replica Leaders & Followers, In-Sync Replicas
- Kafka Clients si APIs
Cluster Setup
- Practica: Setarea Kafka Cluster folosind Docker
- Instalarea Zookeeper Ensemble
- Instalarea Kafka Brokers
Dezvoltarea aplicatiilor in Java
- Kafka Producer API: Elemente de baza
- Practica: Single Message Producer
- Practica: Group Message Producer
- Practica: Group Producer with Explicit Partitioning
- Practica: No-key Message Producer
- Kafka Consumer API: Basics, Consumer Groups
- Practica: Single Consumer
- Practica: Multiple Consumers in Same Group
- Advanced Producing & Consuming: Batching, Retries, Idempotence, Transactions, Consumer Group Rebalance
- Practica: Producer with no batching and retries
- Practica: Idempotent Producer
- Practica: Transactional Producer
- Practica: Transactional Producer and Consumer
- Practica: Transactional Consume-Copy-Produce
Access extern la Kafka Cluster
- Securitate: SSL, SASL, Kerberos
- Confluent REST Proxy: Producing & consuming JSON, Binary & Avro files
- Practica: Access via REST Proxy
- Confluent Schema Registry
- Practica: Folosirea REST Proxy cu Schema Registry
Operations & Monitoring
- Performance Goals & Modes of Execution
- Zookeeper: Configuration, Standalone & Quorum Modes, CLI
- Cluster Management & Monitoring
- Practica: Monitorizarea Kafka folosind Prometheus
Multi Clusters
- Multi Clusters in Kafka?
- MirrorMakerAccess
- Practica: Folosirea MirrorMaker pentru Synchronize Clusters
- Confluence Replicator
Kafka Connect
- Kafka Connect Arhitectura
- Kafka Connect Sinks
- Practica: FileStream Sink Connector
- Practica: JDBC Sink Connector
- Kafka Connect Sources
- Practica: FileStream Source Connector
- Practica: JDBC Source Connector
Kafka Streams Basics
- Kafka Streams: Streams DSL, Processor API, StreamBuilder, Topology Creating & Implementing
- Demo: Implementarea Streams Topology
- Demo: Crearea unei aplicatii Streams folosind StreamBuilder
- Kafka Streams Internals: Multihreading, Multiple Instances si Tasks
- Schemata in Kafka: Serialization, JSON Schema, Avro Schema, Schema Registry, Schema Evolution
- Demo: Folosirea JSON Schema
- Stateful Processing: State Store, Fault Tolerance pentru State Stores
- KTable: Update Streams, Caching, Emit Rate, Aggregation
- Windowing in Streams: Timestamp Extractors, Tumbling, Hopping & Session Windows
- Streaming Joins: Stream with Stream, KTable with KTable, Stream with KTable
Obiective
- Intelegerea arhitecturii Kafka
- Intelegerea modului in care implementam si configuram Kafka
- Folosirea REST-based access in Kafka
- Crearea Kafka Java API clients
- Designul arhitecturilor multi-cluster
- Folosirea instrumentelor Kafka Connect
- Crearea de programe Kafka Streams
Public tinta
- Programatori
- Arhitecti software
- Data Engineers
Cerinte curs
- Experienta in Java de cel putin 3 luni