第 1 章 Apicurio Registry 简介
本章论述了 Apicurio Registry 概念和功能,并提供有关存储在 registry 中的受支持构件类型的详情:
- 第 1.1 节 “什么是 Apicurio 注册表?”
- 第 1.2 节 “Apicurio Registry 中的 schema 和 API 工件”
- 第 1.3 节 “使用 Apicurio Registry Web 控制台管理内容”
- 第 1.4 节 “客户端的 apicurio Registry REST API”
- 第 1.5 节 “Apicurio Registry 存储选项”
- 第 1.6 节 “使用 schema 和 Java client serializers/deserializers 验证 Kafka 消息”
- 第 1.7 节 “使用 Kafka Connect converters 将数据流传输到外部系统”
- 第 1.8 节 “Apicurio Registry 演示示例”
- 第 1.9 节 “Apicurio Registry 可用发行版本”
1.1. 什么是 Apicurio 注册表? 复制链接链接已复制到粘贴板!
Apicurio Registry 是用于跨事件驱动和 API 架构共享标准事件模式和 API 架构的数据存储。您可以使用 Apicurio Registry 将数据的结构与客户端应用程序分离,并使用 REST 接口在运行时共享和管理您的数据类型和 API 描述。
客户端应用程序可以在运行时动态推送或拉取最新的模式更新,或拉取到 Apicurio Registry,而无需重新部署。开发人员团队可以查询 Apicurio Registry,以获取已在生产环境中部署的服务所需的现有模式,并可在开发中注册新服务所需的新模式。
您可以通过在客户端应用程序代码中指定 Apicurio Registry URL 来启用客户端应用程序使用存储在 Apicurio Registry 中的模式和 API 设计。apicurio Registry 可以存储用于序列化和反序列化消息的模式,这些消息从客户端应用程序引用,以确保它们发送和接收的信息与这些模式兼容。
使用 Apicurio 注册表将数据结构与您的应用程序分离,通过减少总体消息大小来降低成本,并通过增加组织内的模式和 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 Schema、Google Protobuf、AsyncAPI、OpenAPI 等。
- AMQ Streams 或 PostgreSQL 数据库中可插拔的 Apicurio Registry 存储选项。
- 内容验证和版本兼容性的规则,以管理 Apicurio Registry 内容如何随时间变化。
- 使用 Web 控制台、REST API、命令行、Maven 插件或 Java 客户端进行 apicurio Registry 内容管理。
- 完整的 Apache Kafka 模式 registry 支持,包括与外部系统的 Kafka Connect 集成。
- Kafka 客户端序列化器/反序列化器(SerDes)在运行时验证消息类型。
- 与现有 Confluent 模式 registry 客户端应用程序兼容。
- 云原生 Quarkus Java 运行时,用于低内存占用和快速部署时间。
- 基于 Operator 在 OpenShift 上安装 Apicurio Registry。
- 使用红帽单点登录的 OpenID Connect (OIDC)身份验证。