我刚开始使用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"]我还尝试分别托管API和Triplestore,使用Docker和Heroku作为spring-boot API,似乎工作得很好。我尝试使用Heroku's executable jar capabailities托管Blazegraph提供的bigdata.jar文件,但没有成功。
我真的很感谢一些关于最佳前进道路的建议和指导。如何托管Blazegraph实例,以便与spring boot API一起使用?我可以使用本地使用的docker-compose.yml文件吗?
提前感谢您的帮助:)
发布于 2020-04-06 19:20:55
一种简单的方法是在亚马逊网络服务上使用Amazon Elastic Compute Cloud (EC2)实例。
只需在Linux虚拟机上安装docker-compose,从那里运行docker-compose文件,然后使用Elastic IP地址和Cloudflare进行安全的HTTPS连接。
如果您最终需要更好的可伸缩性,您可以将Blazegraph实例卸载到它自己的VM上,然后转移到API的容器服务。
同样值得注意的是,Blazegraph现在已被弃用,开发人员已加入亚马逊,并成为亚马逊海王星。
https://stackoverflow.com/questions/60993168
复制相似问题