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

11 天前
 cookii

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

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

目前有几个疑问:

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

1753 次点击
所在节点    Java
19 条回复
FrankFang128
11 天前
Java 怎么会不复杂化?
cookii
11 天前
@FrankFang128 不是指程序和语言本身的复杂性,而是部署和使用起来不要复杂。
LazyYum
11 天前
只要写的 java 程序没 bug ,不会不稳定。 问题是数据不持久化吗?如果不需要持久化数据,只需要考虑内存够不够用就行
Vraw5
11 天前
配置信息存个 yaml 不行嘛,这样还能挂载出来手动改配置文件,如果只是给程序用也可以用 sqlite 。
日志直接前台展示就行了,怎么清理是 docker 的事儿
cookii
11 天前
@LazyYum 要考虑到断电的情况,是需要持久化的。
cookii
11 天前
@Vraw5 准确的说要记录,而不是程序日志,需要做汇总统计,然后 web 展示的。
LazyYum
11 天前
不用担心,成熟的数据库不会有这 bug 。
Vraw5
11 天前
@cookii #6 审计数据?
yinxs2003
11 天前
不清楚为啥不用 Sqlite ,我 python 用 sqlite 感觉挺稳定的,语法也简单
yinxs2003
11 天前
顺便,我对 Java 写的 H2 这种数据库印象不太好,说不出来为啥
cookii
11 天前
@yinxs2003 #9 sqlite 也可以,也在考虑之中。
qclown
11 天前
无脑 sqllite 完事,数据库文件直接放容器里,或者映射到宿主机上(下次还能复用)。
ala2008
11 天前
数据要映射出来,或者数据库单独部署
ca2oh4
11 天前
不懂就问 docker 应用是什么东西
flmn
11 天前
数据库就用 SQLite 吧,久经考验了。
duzhuo
11 天前
我觉得你得先写出来再考虑容器化的事,直接 sqlite 映射出来完事
cookii
11 天前
@duzhuo 准备用 quarkus 做,肯定是交付镜像的
julyclyde
10 天前
为啥会在业务设计都还没做的情况下,就先定性为 docker 应用?
感觉和上海人只要一看到坏事就先定性为外地人类似情况啊,你的注意力都没在最重要的方向上
wukairobin
10 天前
为了 docker 而 docker

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1141489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX