Kafka for Developers - Data Contracts using Schema Registry

via Udemy

Go to Course: https://www.udemy.com/course/kafka-for-developers-data-contracts-using-schema-registry/

Introduction

Certainly! Here's a detailed review and recommendation of the Coursera course on building Kafka applications with AVRO and Schema Registry: --- **Course Review and Recommendation: Building Kafka Applications Using AVRO and Schema Registry** If you're looking to deepen your understanding of Apache Kafka and want to master the essentials of data serialization, schema management, and real-time application development, this course is an excellent choice. Designed with a hands-on approach, it provides a comprehensive journey from foundational concepts to practical implementation. **What the Course Offers** This course is tailored to give you both theoretical knowledge and practical coding skills in building robust Kafka applications using AVRO and Schema Registry. Throughout the course, you'll learn: - Techniques to evolve data schemas without disrupting your data flow - How to efficiently exchange data between applications using compact formats like AVRO - The benefits of using Schema Registry for enforcing data contracts - Handling data evolution gracefully with schema versioning and compatibility strategies **Course Structure and Key Topics** The curriculum is well-structured into modules that gradually build your expertise: - **Introduction to Kafka and Serialization**: Understanding the role of serialization in Kafka and exploring different serialization formats such as AVRO, Protobuf, and Thrift. - **AVRO in Detail**: An in-depth exploration of AVRO, its advantages, and how to create schemas. - **Local Kafka Setup**: Hands-on setup of Kafka using Docker, along with producing and consuming messages via console tools. - **Building Java Applications**: Developing Kafka producers and consumers in Java, generating Java classes from AVRO schemas using both Gradle and Maven. - **Real-world Use Cases**: Designing a CoffeeShop Order Service with AVRO schemas, demonstrating practical application. - **Logical Types and Schema Under the Hood**: Understanding AVRO's support for logical types and the internal structure of AVRO records. - **Schema Evolution and Compatibility**: Techniques to modify schemas over time, ensuring backward or full compatibility, and strategic schema naming. - **Spring Boot Integration**: Building a Spring Boot application that interacts with Kafka and Schema Registry, providing RESTful endpoints to produce events. **Pros** - **Hands-On Learning**: The course emphasizes coding and real-world projects, making complex concepts tangible. - **Comprehensive Content**: From setting up Kafka locally to implementing schema evolution, the scope covers all critical aspects. - **Practical Experience**: Building projects like the Greeting App and Coffee Order Service provides valuable, job-ready skills. - **Expert Instruction**: With clear explanations and detailed demonstrations, learners can easily follow along. **Cons** - Some prior familiarity with Kafka, Java, or basic serialization concepts could enhance learning, as the course dives into intermediate to advanced topics. - It may require additional time and effort to master all practical components, especially if you're new to Kafka. **Who Should Take This Course?** - Data engineers and architects seeking to optimize Kafka data pipelines - Developers wanting to implement schema management and data validation in streaming applications - Anyone interested in real-time application development with Kafka, AVRO, and Schema Registry **Final Verdict** This course is highly recommended for learners who want an in-depth, practical understanding of building Kafka applications with AVRO and Schema Registry. Its focus on hands-on exercises, combined with theoretical insights, ensures you will walk away with not only knowledge but also the ability to build robust, scalable streaming solutions. Whether you're enhancing existing Kafka skills or starting from a solid foundation, this course will significantly boost your capabilities. --- Feel free to ask if you'd like a tailored summary or specific points highlighted further!

Overview

This course is structured to give you a theoretical and coding experience of Building Kafka Applications using AVRO and Schema Registry. If you are looking forward to learning the below-listed things:Techniques that are available to evolve the data between the applications that uses Kafka as a Streaming Platform Use a compact data format like AVRO to exchange data between the applicationsUse Schema Registry and its benefitsEnforcing Data Contracts between applications that uses Kafka as a Streaming PlatformHandle Data evolution gracefully using Schema RegistryThen this is the right course for you. This is a pure hands-on oriented course where you will be learning the concepts through code.By the end of this course, you will have a complete understanding of these concepts:Use AVRO as a data serialization formatEvolution of the data using Schema RegistryGetting Started with KafkaIn this section, I will give you all an introduction to the course and what to expect from this course.Data Contract & Serialization in KafkaLearn "How serialization is connected to Kafka" and how it benefits the overall Kafka architecture.We will look into different Serialization formats and the support for Schema in AVRO, Protobuf and ThriftIntroduction to AVRO - A data serialization systemAn introduction to AVRO and why AVRO is popular to work with Kafka and Schema Registry.Learn to build a simple AVRO schema.Kafka Setup & Demo in Local Using DockerIn this section , we will setup Kafka in local, Produce and Consume messages using Kafka Console Producer and Consumer.Greeting App - Base AVRO Project SetUp - GradleWe will set up the base project for the greeting app which we can use to generate the Java Classes from the Greetings schema using Gradle build tool.Greeting App - Base AVRO Project SetUp - MavenWe will set up the base project for the greeting app which we can use to generate the Java Classes from the Greetings schema using Maven build tool.Build AVRO Producer and Consumer in JavaWe will learn to build a Kafka Producer to publish AVRO records in to the Kafka topic.We will learn to build a Kafka Consumer to consume AVRO records from the Kafka topic.CoffeeShop Order Service Using AVRO - A Real time use CaseWe will build a AVRO schema for a real time use case and build Kafka Producers and Consumers to it.Logical Types in AVROI will cover the different logical types in AVRO and how to use them.TimeStampDecimalUUIDDateAVRO Record- Under the HoodAnatomy of an AVRO record when the data is published and consumed as AVRO recordSchema Changes in AVRODemonstration of how the consumer breaks with changing business requirementsData Evolution using Schema RegistryCover the different techniques of evolving a Schema with the changing business requirements.I will cover the different Compatibility techniques to share data between the producer and consumer applicationsBackward CompatibilityForward CompatibilityFull CompatibilityNone CompatibilitySchema Naming StrategiesI will cover the different naming strategies for Schema and how its impacts the application events.TopicName StrategyRecordName StrategyTopicRecordName StrategyBuild a Coffee Order Service using SpringBoot & Schema RegistryIn this section, we will code and build a Spring Boot Kafka application that exchanges the data in an AVRO format and interacts with Schema Registry for data evolution.Build a RestFul service to publish the events through which we receive events through the rest interface and then publish them to KafkaBy the end of this course, you will have a complete understanding of these concepts:Use AVRO as a data serialization formatEvolution of the data using Schema Registry

Skills

Reviews