打算做一个 Docker 应用,用 Java 写,数据存储选型求有经验的大佬分析。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cookii
V2EX    Java

打算做一个 Docker 应用,用 Java 写,数据存储选型求有经验的大佬分析。

  •  
  •   cookii 112 天前 2612 次点击
    这是一个创建于 112 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面向普通人,不考虑把程序做复杂化,考虑用嵌入式数据库,比如 H2 ,开箱即用,一个镜像即可搞定。

    主要是用来储存用户的一些配置信息,还有程序的运行日志(日志可能会到 100k/day 级别),定期清理日志(90day/180day?)

    目前有几个疑问:

    • H2 用在这种场景下会不会容易出问题?比如容器异常退出、掉电啥的会导致文件损坏、打不开之类的?
    • 有没有别的更稳妥的嵌入式方案推荐?

    目标是让程序尽可能的可靠,可以容忍日志丢失之类的情况,但程序至少需要正常运行。

    19 条回复    2025-06-28 21:51:00 +08:00
    FrankFang128
        1
    FrankFang128  
       112 天前
    Java 怎么会不复杂化?
    cookii
        2
    cookii  
    OP
       112 天前
    @FrankFang128 不是指程序和语言本身的复杂性,而是部署和使用起来不要复杂。
    LazyYum
        3
    LazyYum  
       112 天前
    只要写的 java 程序没 bug ,不会不稳定。 问题是数据不持久化吗?如果不需要持久化数据,只需要考虑内存够不够用就行
    Vraw5
        4
    Vraw5  
       112 天前
    配置信息存个 yaml 不行嘛,这样还能挂载出来手动改配置文件,如果只是给程序用也可以用 sqlite 。
    日志直接前台展示就行了,怎么清理是 docker 的事儿
    cookii
        5
    cookii  
    OP
       112 天前
    @LazyYum 要考虑到断电的情况,是需要持久化的。
    cookii
        6
    cookii  
    OP
       112 天前
    @Vraw5 准确的说要记录,而不是程序日志,需要做汇总统计,然后 web 展示的。
    LazyYum
        7
    LazyYum  
       112 天前
    不用担心,成熟的数据库不会有这 bug 。
    Vraw5
        8
    Vraw5  
       112 天前
    @cookii #6 审计数据?
    yinxs2003
        9
    yinxs2003  
       112 天前
    不清楚为啥不用 Sqlite ,我 python 用 sqlite 感觉挺稳定的,语法也简单
    yinxs2003
        10
    yinxs2003  
       112 天前
    顺便,我对 Java 写的 H2 这种数据库印象不太好,说不出来为啥
    cookii
        11
    cookii  
    OP
       112 天前
    @yinxs2003 #9 sqlite 也可以,也在考虑之中。
    qclown
        12
    qclown  
       112 天前
    无脑 sqllite 完事,数据库文件直接放容器里,或者映射到宿主机上(下次还能复用)。
    ala2008
        13
    ala2008  
       112 天前
    数据要映射出来,或者数据库单独部署
    ca2oh4
        14
    ca2oh4  
       112 天前
    不懂就问 docker 应用是什么东西
    flmn
        15
    flmn  
       112 天前
    数据库就用 SQLite 吧,久经考验了。
    duzhuo
        16
    duzhuo  
       112 天前
    我觉得你得先写出来再考虑容器化的事,直接 sqlite 映射出来完事
    cookii
        17
    cookii  
    OP
       112 天前 via Android
    @duzhuo 准备用 quarkus 做,肯定是交付镜像的
    julyclyde
        18
    julyclyde  
       112 天前
    为啥会在业务设计都还没做的情况下,就先定性为 docker 应用?
    感觉和上海人只要一看到坏事就先定性为外地人类似情况啊,你的注意力都没在最重要的方向上
    wukairobin
        19
    wukairobin  
       111 天前
    为了 docker 而 docker
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2612 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 05:18 PVG 13:18 LAX 22:18 JFK 01:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86