第 1 章 Apicurio Registry 简介
本章介绍了 Apicurio Registry 概念和功能,并提供了有关存储在 registry 中支持的工件类型的详情:
- 第 1.1 节 “Apicurio Registry 是什么?”
- 第 1.2 节 “Apicurio Registry 中的 schema 和 API 工件”
- 第 1.3 节 “使用 Apicurio Registry web 控制台管理内容”
- 第 1.4 节 “客户端的 Apicurio Registry REST API”
- 第 1.5 节 “Apicurio Registry 存储选项”
- 第 1.6 节 “使用模式和 Java 客户端序列化器/反序列化器验证 Kafka 消息”
- 第 1.7 节 “使用 Kafka Connect 转换器将数据流传输到外部系统”
- 第 1.8 节 “Apicurio Registry 演示示例”
- 第 1.9 节 “Apicurio Registry 可用发行版本”
1.1. Apicurio Registry 是什么? 复制链接链接已复制到粘贴板!
Apicurio Registry 是一个数据存储,用于在事件驱动的和 API 架构间共享标准事件模式和 API 设计。您可以使用 Apicurio Registry 将数据的结构与客户端应用程序分离,并使用 REST 接口在运行时共享和管理您的数据类型和 API 描述。
客户端应用程序可以在运行时动态推送或拉取来自 Apicurio Registry 的最新 schema 更新,而无需重新部署。开发人员团队可以查询 Apicurio Registry,以获取生产环境中部署的服务所需的现有模式,并可注册开发中新服务所需的新模式。
您可以通过在客户端应用程序代码中指定 Apicurio Registry URL,使客户端应用程序能够使用存储在 Apicurio Registry 中的模式和 API 设计。Apicurio Registry 可以存储用于从客户端应用程序引用的序列化和反序列化消息的模式,以确保它们发送和接收的消息与这些模式兼容。
使用 Apicurio Registry 将数据结构与应用程序分离,通过降低整体消息大小来降低成本,并通过增加企业中的模式和 API 设计的一致性重复使用来提高效率。Apicurio Registry 提供了一个 Web 控制台,方便开发人员和管理员管理 registry 内容。
您可以配置可选规则,以管理 Apicurio Registry 内容的演进。这包括用于确保上传内容有效或者与其他版本兼容的规则。在将新版本上传到 Apicurio Registry 之前,任何配置的规则都必须通过,这样可确保时间不会在无效或不兼容的模式或 API 设计中造成。
Apicurio Registry 基于 Apicurio Registry 开源社区项目。详情请查看 https://github.com/apicurio/apicurio-registry。
Apicurio Registry 功能
- 标准事件模式和 API 规格的多个有效负载格式,如 Apache Avro、JSON 架构、Google Protobuf、AsyncAPI、OpenAPI 和 OpenAPI 等。
- AMQ Streams 或 PostgreSQL 数据库中的可插拔 Apicurio Registry 存储选项。
- 用于内容验证、兼容性和完整性的规则,以管理 Apicurio Registry 内容随时间变化的方式。
- Apicurio Registry 使用 Web 控制台、REST API、命令行、Maven 插件或 Java 客户端进行内容管理。
- 完整的 Apache Kafka 模式 registry 支持,包括与外部系统的 Kafka Connect 集成。
- Kafka 客户端序列化器/反序列化器(SerDes)在运行时验证消息类型。
- 与现有 Confluent 模式 registry 客户端应用程序兼容。
- Cloud-native Quarkus Java 运行时,用于低内存空间和快速部署时间。
- 在 OpenShift 上基于 Operator 的 Apicurio Registry 安装。
- 使用红帽单点登录的 OpenID Connect (OIDC)身份验证。