heroku - 如何使用 blazegraph 托管我自己的 Triplestore?
问题描述
我是使用 Blazegraph 的新手,在过去的几个月里,我一直在本地使用它作为项目的一部分进行开发。我目前正在尝试在线托管我的三重商店的实例,并且已经到了我迷失在圈子里的地步。
我的应用程序使用 spring-boot API 来管理与 Triplestore 的任何交互。我最初使用 docker-compose 在我的本地机器上托管,并且能够毫无问题地查询和更新三重存储。这是我使用的 docker-compose.yml 文件:
version: '3'
services:
triplestore:
image: lyrasis/blazegraph:2.1.5
ports:
- "9999:9999"
restart: on-failure
networks:
- jacks-net
api:
build: .
ports:
- "8080:8080"
networks:
- jacks-net
networks:
jacks-net:
当谈到生产时,我尝试使用 Heroku 部署我的 docker-compose 应用程序,发现 Heroku 似乎不支持这一点。我只能使用以下 Dockerfile 在 Heroku 上托管 API:
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
我还尝试使用 Docker 和 Heroku 分别托管 API 和 Triplestore,用于 spring-boot API,这似乎工作正常。我试图使用Heroku 的可执行 jar 功能来托管 Blazegraph 提供的 bigdata.jar 文件,但没有成功。
我非常感谢一些关于最佳前进方式的建议和指导。如何托管 Blazegraph 实例以与我的 Spring Boot API 一起使用?我可以使用我在本地使用的 docker-compose.yml 文件吗?
在此先感谢您的帮助 :)
解决方案
一种简单的方法是在 AWS 上使用 Amazon Elastic Compute Cloud (EC2) 实例。
只需在 Linux VM 上安装 docker-compose,从那里运行 docker-compose 文件,然后使用弹性 IP 地址和 Cloudflare 进行安全的 HTTPS 连接。
如果您最终需要更好的可扩展性,您可以将 Blazegraph 实例卸载到它自己的 VM 上,然后转移到 API 的容器服务。
还值得注意的是,Blazegraph 现在已弃用,开发人员已加入亚马逊并成为亚马逊海王星。
推荐阅读
- lua - 如何在 roblox 上获取模型的大小值
- javascript - 给我一些关于如何为 deno 安装liquid.js 库的提示
- php - 如何从数据库中获取数据作为 utf-8 CodeIgniter
- javascript - 按钮上的脉轮 UI colorScheme 道具
- c# - 我收到在 C# 中使用 bool 方法的错误消息
- c# - 如何使用 if-else 语句修复 C# 中的隐式转换错误?
- javascript - const 和 json 的一些问题
- css - 尝试构建 css 时出现 Tailwindcss 错误
- python - 在 Spyder 中使用 Python 模块而不是命令行
- vba - 像运算符一样访问 vba 只返回第一个结果