1 个不稳定版本
0.1.0 | 2023 年 5 月 9 日 |
---|
#37 在 #grpc-server
22 每月下载量
用于 aocrun
21KB
120 行
Aocdata
Aocdata 提供数据服务,即 Advent Of Code 拼图的数据集。该服务、请求格式和响应格式在遵循 Proto3 语言指南的 aocdata.proto
文件中指定。
设置
$ git clone https://gitlab.com/labcycle/aocdata.git
$ cd aocdata
以下命令通过容器镜像模拟数据库和服务器。将以下命令中的 podman
替换为 docker
以构建和运行镜像。注意:未使用 docker
测试过 build
和 run
命令。
设置 PostgreSQL 数据库
此数据库存储拼图的数据集。如果数据库已设置,请跳转到 设置 Aocdata 服务器 部分。
注意:以下设置了一个包含示例数据集的数据库示例。对于更广泛的数据集,应设置一个新的包含数据集的数据库。
$ podman build -t aocdb -f ./db/Containerfile
$ podman run -dt --name aocdb_container -p 54320:5432 -e POSTGRES_PASSWORD="aocpg" aocdb
设置 Aocdata 服务器
必须将 PostgreSQL 数据库 URL 作为环境变量 AOC_DB_URL
提供给容器。例如: AOC_DB_URL="postgres://postgres:aocpg@localhost:54320/aoc"
。
$ podman build -t aocdata -f ./Containerfile
$ podman run -dt --name aocdata_container -p 31370:3137 -e AOC_DB_URL=__PostgresDbUrl__ aocdata
如何工作
- 服务器启动后,可以使用 gRPC 调用通过 unary RPC
GetData
和客户端DataRequest
提到年份和日期字段来请求数据。 - 数据响应以可选字符串的形式发送。
- 从 PostgreSQL 数据库中查询数据集字符串(因此,数据库必须始终在服务器接收请求时运行)。
依赖项
~23–36MB
~659K SLoC