graalvmjs cube.js 集成简单说明
实际上我以前也简单写过关于graalvm 集成cube.js 的,最近graalvmjs 提供了独立的模块,我基于独立包创建了一个docker 镜像
尽管cube.js 也提供了docker 镜像,但是相对来说有点太重(包含了比较多的组件,同时很多是不需要的),很多时候我们是需要
自己基于扩展开发的,以下是一个简单的集成(实际上就是替换nodejs 基础镜像为graalvmjs的镜像)
参考配置
- Dockerfile
FROM node:16.20.2-bullseye-slim as builder
WORKDIR /app
ENV NODE_ENV production
COPY package.json /app/package.json
COPY index.js /app/index.js
RUN npm install
FROM dalongrong/graaljs:23.1.0
WORKDIR /app
ENV NODE_ENV production
COPY --from=builder /app/node_modules /app/node_modules
COPY --from=builder /app/index.js /app/index.js
COPY model /app/model
ENTRYPOINT [ "node","index.js" ]
- index.js
const CubejsServer = require('@cubejs-backend/server');
const server = new CubejsServer({});
server.listen().then(({ version, port }) => {
console.log(`🚀 Cube server (${version}) is listening on ${port}`);
}).catch(e => {
console.error('Fatal error during server start: ');
console.error(e.stack || e);
});
- 运行效果
说明
基于graalvmjs 的运行,是一个不错的选择,尤其是需要基于jvm 相关的依赖的时候,实际上我以前也写过实际上可以基于graalvmjs 开发独立的jdbc 驱动,替换默认的基于node addon 的实现,开发以及灵活性上会好很多
参考资料
https://www.cnblogs.com/rongfengliang/p/17716815.html
https://github.com/rongfengliang/cube-test/blob/graalvm/Dockerfile
https://github.com/oracle/graaljs/releases/
https://github.com/rongfengliang/cube-test/tree/graalvm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-10-23 通过dremio git 提交学习dremio 插件开发以及测试
2022-10-23 snowplow 的data creation理论
2021-10-23 openmetadata connector 开发简单说明
2021-10-23 openmetadata es 存储安全认证添加
2021-10-23 openmetadata 构建说明
2020-10-23 apache trafficcontrol 开源的基于golang 的cdn 框架
2020-10-23 sftpgo 多功能高度可配置的sftp server