各位用容器化自部署服务时,会给每个系统单独配数据库,还是尽量共用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IvanLi127
V2EX    Docker

各位用容器化自部署服务时,会给每个系统单独配数据库,还是尽量共用?

  • &bsp;
  •   IvanLi127
    IvanLi-CN 2024-03-24 11:12:19 +08:00 2836 次点击
    这是一个创建于 634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 home-lab self-hosted 服务时,本来是共用 PostgreSQL 和 Redis 的,但是维护起来有点繁琐,很多服务不是有数据库备份和 docker-compose.yml 就能完整恢复的,现在都是给每个系统单独跑数据库实例,需要恢复就把对应的 docker-compose.yml + volumes 恢复一次。

    所以现在像 s3 之类的服务我现在也是单独跑,当然,能存数据库或文件系统我就不额外引入服务,要是能存 Sqlite 这种内嵌数据库就不单独起。不知道各位用啥方案,能兼顾性能开销和维护的便利性。

    最后附图一张,看起来跑一堆服务自用,日常性能开销也不大:

    12 条回复    2024-03-24 14:59:05 +08:00
    iseki
        1
    iseki  
       2024-03-24 11:16:51 +08:00 via Android
    这个取决于你的规模吧,重点是如果你实践微服务模式,那数据库从逻辑上一定要分开。部署在不在一起就看规模吧。
    lo0pback
        2
    lo0pback  
       2024-03-24 11:45:04 +08:00
    请问这个是什么软件,
    YaD2x
        3
    YaD2x  
       2024-03-24 11:55:27 +08:00
    我就一个数据库,没有容器化。所有容器化的服务共用这个库。一个服务对应一个数据库,对我 4 G 的内存太奢侈。不如 all in 一个库。前提是自己的服务,没啥特别重要的东西。
    john5
        4
    john5  
       2024-03-24 11:59:39 +08:00
    @lo0pback dozzle
    chloerei
        5
    chloerei  
       2024-03-24 12:04:17 +08:00
    共用省资源,独立好维护。
    zzeskl
        6
    zzeskl  
       2024-03-24 12:04:59 +08:00 via Android
    单独买数据库云服务
    IvanLi127
        7
    IvanLi127  
    OP
       2024-03-24 12:59:27 +08:00
    @lo0pback Dozzle ,用来在线看 Docker 容器的日志。
    fkmc
        8
    fkmc  
       2024-03-24 13:04:47 +08:00
    你不如买一下 ali 的 rds 最低配也就 99 一年
    coolcoffee
        9
    coolcoffee  
       2024-03-24 13:27:13 +08:00
    我觉得数据库实例共用的好一些,除非有特别的数据库版本指定要求。担心稳定性那就数据库做 3 实例集群或者是 redis 的 3 主 3 从集群。

    all in one 是不存在故障恢复的,无论 cpu 、内存、硬盘、主板、电源哪个环节出问题都是 all in boom 。
    IvanLi127
        10
    IvanLi127  
    OP
       2024-03-24 14:16:02 +08:00
    @coolcoffee 对,这么一说我想起来了,之前我就是数据库大版本我更新,然后有些服务跑不了,索性就起了两个版本分着用。后面觉得一不做,二不休,直接每个服务单独开实例了,省得研究服务到底支持什么版本的数据库。
    KousukeSakurako
        11
    KousukeSakurako  
       2024-03-24 14:32:02 +08:00
    忘记在哪看到的了说是每个服务建议单开一个数据库容器,然而我还是多个服务共用一个 PostgreSQL ,备份起来比较方便
    pendulum
        12
    pendulum  
       2024-03-24 14:59:05 +08:00
    应该独立

    ref:《为什么每个微服务要有自己独立的数据库?》 https://www.maguangguang.xyz/why-mircroservice-need-independent-database
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5372 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 06:45 PVG 14:45 LAX 22:45 JFK 01:45
    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