stargateio/stargate-dse-68警告: 此镜像适用于Stargate v1。若使用Stargate v2,请参见 stargateio/coordinator-dse-68 镜像。
开源数据API框架。
Stargate是部署在客户端应用与数据库之间的数据网关。其以可扩展性为首要设计目标,通过添加对新API、数据类型和访问方法的插件支持,简化了任何应用工作负载对数据库的使用。
我们创建Stargate是因为厌倦了根据要完成的工作使用不同的数据库和不同的API。每次启动新项目时,“阅读手册”的疲劳和冗长的选择过程让我们不堪重负,于是我们想——为什么不创建一个可以为多种工作负载提供多种API的框架呢?
该项目支持数据访问各方面的定制,并包含认证、API、请求处理/路由和持久化后端的模块。当前版本特定于Apache Cassandra (C*)后端,但该框架可以支持的数据库或API没有限制。
Stargate包含以下组件:
API服务:负责定义API、处理并将请求转换为数据库查询、分发到持久化层、返回和提供响应
持久化服务:负责实现协调层,以执行API服务传递给底层数据存储实例的请求
以开发者模式启动Stargate容器。开发者模式无需单独设置Cassandra实例,仅用于开发和测试。
shelldocker run --name stargate \ -p 8081:8081 \ -p 8082:8082 \ -p 127.0.0.1:9042:9042 \ -d \ -e CLUSTER_NAME=stargate \ -e CLUSTER_VERSION=3.11 \ -e DEVELOPER_MODE=true \ stargateio/stargate-dse-68:{stargate-docker-tag}
默认情况下,Stargate在端口9042上启动CQL服务,在8081上启动用于生成令牌的REST认证服务,在8082上启动用于CRUD的REST接口。
示例目录 包含一些 docker compose 文件,用于Stargate与不同后端(3节点):
environment 部分的正确设置对于Stargate的成功配置至关重要。
environment: # 集群名称必须与后端集群名称匹配 # 版本必须与后端版本匹配,例如 3.11 / 4.0 - CLUSTER_NAME=backend - CLUSTER_VERSION=3.11 # 至少一个种子节点 - SEED=backend-1 # 机架和数据中心名称必须与后端机架名称匹配, # 请注意Apache Cassandra的默认值与DSE的默认值不同 - RACK_NAME=rack1 - DATACENTER_NAME=dc1
后端(C*或DSE)在容器启动后不会立即启动。这可能导致Stargate启动时后端未就绪的潜在问题。
docker-compose --file <compose-file.yml> up
因此,我们建议使用 包装脚本,该脚本强制安全的运行顺序,先启动后端种子节点,然后启动Stargate/其余后端节点。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务