Kafka for Developers – Data Contracts using Schema Registry
“开发者版Kafka – 使用Schema Registry数据契约”
Learn to build a Kafka Produce/Consumer applications that uses AVRO data format and Confluent Schema Registry.
学会构建使用AVRO数据格式和Confluent Schema Registry的Kafka生产者/消费者应用程序。
教程演示🔗
学生数量:1,265 个学生
上次更新时间:2024年3月
教程评分:4.6
教程语言:英语
教程字幕:中文、英语字幕
本课程包括:5.5 小时 长的随选视频、60 个可下载资源、在移动设备和电视上观看、结业证书、1 篇文章字幕
学习内容
1、AVRO简介及其在应用程序间共享消息的优势
AVRO是一种强大的数据序列化框架,由Apache软件基金会开发,旨在提供一种简单、灵活且跨语言的方法来序列化和反序列化数据。它主要用于在分布式系统中,如Hadoop生态系统或RESTful服务之间,交换结构化数据。
AVRO的主要优点包括:
1. **灵活性**:AVRO支持动态模式,可以根据运行时的数据动态生成模式,这使得它能够处理不同类型或结构的复杂数据。
2. **跨语言支持**:由于AVRO使用JSON格式表示数据,因此可以轻松地在多种编程语言之间进行数据交换,包括Java、Python、C++等。
3. **高效性能**:AVRO采用紧凑的二进制格式,相比XML或JSON有更高的序列化和反序列化速度,对于大数据处理场景尤其重要。
4. **易于集成**:AVRO与Hadoop MapReduce、HBase、Kafka等大数据工具无缝集成,是这些平台的标准数据交换格式。
5. **自描述性**:数据本身包含了类型信息,使得接收端无需额外的信息就能正确解析数据,提高了系统的健壮性。
6. **版本控制**:AVRO允许定义数据版本,确保在更新数据格式时不会破坏旧的消费者。
通过使用AVRO,应用程序之间的消息共享变得更加高效、可靠和可扩展,尤其适合构建分布式系统和实时数据处理应用。
2、使用KafkaProducer发布AVRO记录
3、Schema Registry简介
4、使用KafkaProducer消费AVRO记录
5、使用Schema Registry来注册AVRO schema。
6、了解Kafka生产者和消费者如何与Schema Registry交互。
7、使用Schema Registry强制执行数据合同
8、使用Schema Registry演化AVRO schema
9、构建使用AVRO作为序列化格式的Spring Boot Kafka生产者和消费者应用程序,并与Schema Registry交互。
要求
1、需要Java 11或更高版本(推荐使用Java 17)
2、必须安装Docker。
3、需要IntelliJ IDEA或类似的产品。
4、经验构建Kafka生产者和消费者应用程序
课程介绍
本课程旨在为您提供使用AVRO和Schema Registry构建Kafka应用的理论知识和编码实践体验。
如果您期望学习以下内容:
– 如何在使用Kafka作为流处理平台的应用之间传递数据的技术
– 使用像AVRO这样的紧凑数据格式在应用程序间交换数据
– 了解并利用Schema Registry及其优势
– 在使用Kafka的流处理平台中,如何在应用程序间强制执行数据契约
– 如何优雅地处理数据进化(即Schema变更)
那么这门课程非常适合您。这是一门以实践为主的课程,您将通过代码学习概念。
课程结束时,您将全面理解以下概念:
– 将AVRO用作数据序列化格式
– 利用Schema Registry进行数据的演变
– Kafka入门
– 数据契约与Kafka中的序列化
– 学习不同序列化格式(如AVRO、Protobuf和Thrift)以及对Schema的支持
– AVRO简介:一个数据序列化系统
– 了解为何AVRO与Kafka和Schema Registry配合流行
– 创建简单的AVRO模式
– 在本地使用Docker搭建Kafka环境并演示生产者和消费者操作
– 欢迎应用基础AVRO项目设置(Gradle)
– 欢迎应用基础AVRO项目设置(Maven)
– 在Java中构建AVRO生产者和消费者
– 为实时场景构建咖啡订单服务的AVRO模式,并创建相关生产者和消费者
– AVRO中的逻辑类型及其使用
– 针对时间戳、小数、UUID和日期等的AVRO记录示例
– 当数据作为AVRO记录发布和消费时,AVRO记录的内部结构
– AVRO模式变更演示:如何处理业务需求变化导致的消费者中断
– 数据进化与Schema Registry
– 不同的数据进化技术,包括兼容性策略
– 向后兼容、向前兼容、完全兼容和不兼容
– Schema命名策略及其对应用程序事件的影响
– 主题名称策略、记录名称策略和主题记录名称策略
– 使用Spring Boot和Schema Registry构建咖啡订单服务
– 编写Spring Boot Kafka应用,处理AVRO格式数据,并与Schema Registry协作处理数据进化
– 创建RESTful服务,通过接口接收事件并将其发布到Kafka
课程结束后,您将全面掌握以上所有概念。
提升您的Kafka应用技能:AVRO与Schema Registry实战课程
探索如何在Kafka流处理中无缝协作:
– 数据传递与AVRO格式的数据交换
– 通过Schema Registry实现数据契约管理
– 面向实践:从序列化到数据进化处理
这门实践导向的课程涵盖:
1. AVRO在Kafka中的应用:序列化与数据一致性
2. Docker下搭建Kafka环境与生产者/消费者操作演练
3. 从基础到高级:Java项目设置与生产者/消费者开发
4. 实战案例:咖啡订单服务的AVRO模式与数据进化应对
5. Schema Registry策略:兼容性选择与业务影响
6. Spring Boot集成:构建高效数据处理应用
完成课程,您将成为Kafka与AVRO专家,能够优雅应对数据演变挑战。立即加入,提升您的技术栈!