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

posted on   荣锋亮  阅读(97)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用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

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示