V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IvanLi127
V2EX  ›  Docker

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

  •  
  •   IvanLi127 ·
    IvanLi-CN · 279 天前 · 2164 次点击
    这是一个创建于 279 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 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  
       279 天前 via Android
    这个取决于你的规模吧,重点是如果你实践微服务模式,那数据库从逻辑上一定要分开。部署在不在一起就看规模吧。
    lo0pback
        2
    lo0pback  
       279 天前
    请问这个是什么软件,
    YaD2x
        3
    YaD2x  
       279 天前
    我就一个数据库,没有容器化。所有容器化的服务共用这个库。一个服务对应一个数据库,对我 4 G 的内存太奢侈。不如 all in 一个库。前提是自己的服务,没啥特别重要的东西。
    d460686680
        4
    d460686680  
       279 天前
    @lo0pback dozzle
    chloerei
        5
    chloerei  
       279 天前
    共用省资源,独立好维护。
    zzeskl
        6
    zzeskl  
       279 天前 via Android
    单独买数据库云服务
    IvanLi127
        7
    IvanLi127  
    OP
       279 天前
    @lo0pback Dozzle ,用来在线看 Docker 容器的日志。
    wccc
        8
    wccc  
       279 天前
    你不如买一下 ali 的 rds 最低配也就 99 一年
    coolcoffee
        9
    coolcoffee  
       279 天前
    我觉得数据库实例共用的好一些,除非有特别的数据库版本指定要求。担心稳定性那就数据库做 3 实例集群或者是 redis 的 3 主 3 从集群。

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

    ref:《为什么每个微服务要有自己独立的数据库?》 https://www.maguangguang.xyz/why-mircroservice-need-independent-database
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:10 · PVG 07:10 · LAX 15:10 · JFK 18:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.