Apicurio Registry 开源项目教程
1. 项目的目录结构及介绍
Apicurio Registry 是一个用于存储 API 和 Schema 的运行时服务器系统。项目的目录结构如下:
apicurio-registry/
├── api/
├── app/
├── bookeeper/
├── common/
├── core/
├── dist/
├── doc/
├── kafka-connect-converter/
├── kafka-streams-udf/
├── model/
├── rest/
├── serdes/
├── sql/
├── storage/
├── ui/
├── utils/
├── version/
├── pom.xml
└── README.md
api/
: 包含 API 相关的接口定义。app/
: 包含应用程序的主要代码。bookeeper/
: 包含一些工具类。common/
: 包含通用代码。core/
: 包含核心功能代码。dist/
: 包含分发文件。doc/
: 包含文档。kafka-connect-converter/
: 包含 Kafka Connect 转换器代码。kafka-streams-udf/
: 包含 Kafka Streams UDF 代码。model/
: 包含数据模型。rest/
: 包含 REST API 实现。serdes/
: 包含序列化和反序列化代码。sql/
: 包含 SQL 脚本。storage/
: 包含存储相关的代码。ui/
: 包含用户界面代码。utils/
: 包含工具类。version/
: 包含版本信息。pom.xml
: Maven 项目配置文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
Apicurio Registry 的启动文件主要位于 app/
目录下。主要的启动类是 io.apicurio.registry.AbstractRegistryApp
,它负责启动整个应用程序。
package io.apicurio.registry;
public class AbstractRegistryApp {
public static void main(String[] args) {
// 启动逻辑
}
}
3. 项目的配置文件介绍
Apicurio Registry 的配置文件主要位于 app/
目录下的 src/main/resources/application.properties
。以下是一些关键的配置项:
# 数据库配置
APICURIO_STORAGE_KIND=sql
APICURIO_STORAGE_DB_KIND=postgresql
APICURIO_DATASOURCE_URL=jdbc:postgresql://postgres/apicurio-registry
APICURIO_DATASOURCE_USERNAME=apicurio-registry
APICURIO_DATASOURCE_PASSWORD=password
# 认证配置
AUTH_ENABLED=true
KEYCLOAK_URL=OIDC Server URL
KEYCLOAK_REALM=OIDC Security realm
KEYCLOAK_API_CLIENT_ID=The client for the API
# 用户界面配置
APICURIO_AUTH_TYPE=oidc
APICURIO_AUTH_URL=OIDC auth URL
APICURIO_AUTH_REDIRECT_URL=OIDC redirect URL
APICURIO_AUTH_CLIENT_ID=The client for the UI
这些配置项涵盖了数据库连接、认证和用户界面的配置。详细的配置选项可以参考项目的官方文档。