Airbyte 后端技术栈
- Java 17
- 框架:Jersey
- API: OAS3
- 数据库:PostgreSQL
- 单元和E2E测试:JUnit 5
- 编排:Temporal
连接器技术栈
连接器可以用任何语言编写。但是,最常见的语言是:
- Python3.9.0
- Java 17
前端技术栈
- Node.js 16
- TypeScript
- Web 框架/库:React
部署
部署Airbyte开源只需要两个步骤。
- 在您的工作站上安装 Docker。确保您使用的是最新版本的 .
docker-compose - 在终端中运行以下命令:
git clone github.com/airbytehq/a…
cd airbyte
docker compose up
一旦您看到Airbyte横幅,就可以在浏览器输入 http://localhost:8000 访问Airbyte了!系统将要求您输入用户名和密码,默认用户名和密码是 airbyte 和password,部署到服务器后,请务必在.env文件中更改默认用户和密码。
内部数据库
Airbyte 使用Postgres来存储内部状态和元数据。此数据由各种 Airbyte 组件存储和操作,但您可以通过以下两种方式管理此数据库的部署:
- 使用 Airbyte Docker 服务的默认 Postgres 数据库:。
docker-compose.ymlairbyte/db - 通过专用的自定义 Postgres 实例。在Docker或Kubernetes上部署关键任务数据库不是一个好的做法。 使用专用实例将为您的 Airbyte 部署提供更高的可靠性。 此外,使用云托管的 Postgres 实例(例如 AWS RDS 我们的 GCP 云 SQL),您将受益于自动备份和细粒度大小调整。您可以从一个非常小的实例开始,但根据您的 Airbyte 使用情况,如果不截断作业历史记录,作业数据库可能会增长并需要更多存储空间。
airbyte/dbdocker-compose.yml
各种实体持久保存在两个内部数据库中:
- 作业数据库
-
- 有关 Airbyte 作业和各种运行时元数据执行的数据。
- 有关 Airbyte 使用的内部业务流程协调程序的数据,Temporal.io(任务、工作流数据、事件和可见性数据)。
- 配置数据库
-
- 连接器、同步连接和各种 Airbyte 配置对象。
注意:管道传输的实际数据永远不会保留在此内部数据库中
请注意,源(或目标)连接器中的实际数据永远不会传输或保留在此内部数据库中。