面向普通人,不考虑把程序做复杂化,考虑用嵌入式数据库,比如 H2 ,开箱即用,一个镜像即可搞定。
主要是用来储存用户的一些配置信息,还有程序的运行日志(日志可能会到 100k/day 级别),定期清理日志(90day/180day?)
目前有几个疑问:
- H2 用在这种场景下会不会容易出问题?比如容器异常退出、掉电啥的会导致文件损坏、打不开之类的?
- 有没有别的更稳妥的嵌入式方案推荐?
目标是让程序尽可能的可靠,可以容忍日志丢失之类的情况,但程序至少需要正常运行。
面向普通人,不考虑把程序做复杂化,考虑用嵌入式数据库,比如 H2 ,开箱即用,一个镜像即可搞定。
主要是用来储存用户的一些配置信息,还有程序的运行日志(日志可能会到 100k/day 级别),定期清理日志(90day/180day?)
目前有几个疑问:
目标是让程序尽可能的可靠,可以容忍日志丢失之类的情况,但程序至少需要正常运行。
|
FrankFang128Jun 27, 2025
1
Java 怎么会不复杂化?
|
|
2
@FrankFang128 不是指程序和语言本身的复杂性,而是部署和使用起来不要复杂。
|
|
LazyYumJun 27, 2025
3
只要写的 java 程序没 bug ,不会不稳定。 问题是数据不持久化吗?如果不需要持久化数据,只需要考虑内存够不够用就行
|
|
Vraw5Jun 27, 2025
4
配置信息存个 yaml 不行嘛,这样还能挂载出来手动改配置文件,如果只是给程序用也可以用 sqlite 。
日志直接前台展示就行了,怎么清理是 docker 的事儿 |
|
LazyYumJun 27, 2025
7
不用担心,成熟的数据库不会有这 bug 。
|
|
yinxs2003Jun 27, 2025
9
不清楚为啥不用 Sqlite ,我 python 用 sqlite 感觉挺稳定的,语法也简单
|
|
yinxs2003Jun 27, 2025
10
顺便,我对 Java 写的 H2 这种数据库印象不太好,说不出来为啥
|
|
qclownJun 27, 2025
12
无脑 sqllite 完事,数据库文件直接放容器里,或者映射到宿主机上(下次还能复用)。
|
|
ala2008Jun 27, 2025
13
数据要映射出来,或者数据库单独部署
|
|
ca2oh4Jun 27, 2025
14
不懂就问 docker 应用是什么东西
|
|
flmnJun 27, 2025
15
数据库就用 SQLite 吧,久经考验了。
|
|
duzhuoJun 27, 2025
16
我觉得你得先写出来再考虑容器化的事,直接 sqlite 映射出来完事
|
|
julyclydeJun 28, 2025
18
为啥会在业务设计都还没做的情况下,就先定性为 docker 应用?
感觉和上海人只要一看到坏事就先定性为外地人类似情况啊,你的注意力都没在最重要的方向上 |
|
wukairobinJun 28, 2025
19
为了 docker 而 docker
|