我是使用 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 文件吗?
在此先感谢您的帮助 :)