第 1 章 Service Registry 简介


本章介绍了 Service Registry 概念和功能,并提供了有关 registry 中支持的工件类型的详情:

1.1. 什么是服务 registry?

Service Registry 是一个数据存储,用于跨事件驱动的和 API 架构共享标准事件模式和 API 设计。您可以使用 Service Registry 将数据结构与客户端应用程序分离,并使用 REST 接口在运行时共享和管理您的数据类型和 API 描述。

例如,客户端应用程序可以在运行时动态推送或拉取最新的模式更新,而无需重新部署。开发者团队可以查询 registry 以获取已部署到生产环境中的服务所需的现有模式,并可在开发中注册新服务所需的新架构。

您可以通过在客户端应用程序代码中指定 registry URL,启用客户端应用程序以使用存储在 Service Registry 中的模式和 API 设计。例如,registry 可以存储用于序列化和反序列化消息的 schema,然后从客户端应用程序引用这些消息,以确保它们发送和接收的消息与这些架构兼容。

使用 Service Registry 将数据结构与应用程序分离,通过降低总体消息大小来降低成本,并通过增加整个机构中的 schema 和 API 设计来提升效率。Service Registry 提供了一个 Web 控制台,供开发人员和管理员用于管理注册表内容。

另外,您可以配置可选规则来监管 registry 内容的演进。例如,这包括用于确保上传的内容是语法上有效或之后有效的规则,或者可向后兼容其他版本。任何配置的规则都必须在将新版本上传到 registry 前进行传递,这样可确保时间不显示在无效或不兼容的 schema 或 API 设计中。

Service Registry 基于 Apicurio Registry 开源社区项目。详情请查看 https://github.com/apicurio/apicurio-registry

Service Registry 功能

  • 标准事件模式和 API 规格的多个有效负载格式,如 Apache Avro、JSON Schema、A Protobuf、AsyncAPI、OpenAPI 等
  • AMQ Streams 或 PostgreSQL 数据库中的可插拔 registry 存储选项
  • 用于内容验证和版本兼容性的规则,以监管 registry 内容随时间发展的方式
  • 使用 Web 控制台、REST API、命令行、Maven 插件或 Java 客户端进行注册表内容管理
  • 完整的 Apache Kafka 模式 registry 支持,包括与外部系统集成的 Kafka Connect
  • Kafka 客户端 serializers/deserializers (SerDes)在运行时验证消息类型
  • 与现有 Confluent 或 IBM schema registry 客户端应用程序兼容
  • 云原生 Quarkus Java 运行时,内存低消耗和快速部署时间
  • 基于 Operator 的 Service Registry 在 OpenShift 上安装
  • 使用 Red Hat Single Sign-On 进行 OpenID Connect(OIDC)身份验证
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.