• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yueyoum
V2EX  ›  程序员

分布式系统数据库的问题

  •  1
     
  •   yueyoum ·
    yueyoum · May 13, 2014 · 4064 views
    This topic created in 4389 days ago, the information mentioned may be changed or developed.
    多个server节点,跑的相同的逻辑,他们都需要数据库

    如何整?

    1: 一个数据库服务器。 所有的server节点都链接这个数据库
    2: 各自节点都有自己的数据库。


    1 好处 数据便于统一管理,备份 。 当有server节点要合并的时候,没有迁移数据库的工作
    坏处 数据库压力大。 单点。 数据库挂了,所有server都跟着挂

    2 好处坏处与1相反



    大伙给点建议
    6 replies    2014-05-13 14:42:09 +08:00
    lu18887
        1
    lu18887  
       May 13, 2014
    考虑数据库集群。多个读节点,多个写节点,多个读写节点。依赖于协调节点进行协调的要注意协调节点的高可用性。
    kevinv
        2
    kevinv  
       May 13, 2014
    CAP原理
    对于一个分布式计算系统来说,不可能同时满足以下三点:
    一致性(Consistency)(所有节点在同一时间具有相同的数据)
    可用性(Availability)(保证每个请求不管成功或者失败都有响应)
    分隔容忍(Partition tolerance)(系统中任意信息的丢失或失败不会影响系统的继续运作)

    你说的第一点的单店问题可以通过两个数据库来解决。

    建议在对一致性要求不高的情况下,使用按用户段区分或者按区域区分。如果使用一个数据库服务器会有跨网段访问请求的问题。
    xiawinter
        3
    xiawinter  
       May 13, 2014
    从我的经验来看,如果你还在和我们讨论这个问题, 那你暂时还不涉及到分布式数据库的问题。 你可以先做起来再说,把这个问题留给能解决的人。
    yueyoum
        4
    yueyoum  
    OP
       May 13, 2014
    @xiawinter

    确实是这样, 同时感谢LS两位的回答。 我没回复就是 我不涉及到分布式数据库

    我的系统是分布式的, 并不是要一个分布式的数据库。
    jckwei
        5
    jckwei  
       May 13, 2014
    1
    一主,其他server从(缓存或落地缓存,目的是减少主数据库压力和防止主数据库挂了还能使用一些读服务)
    cevincheung
        6
    cevincheung  
       May 13, 2014
    还是建议使用至少两台数据库服务器,中间使用atlas类似的中间件可以对程序实现透明访问。即便master挂了slave还能用。slave挂了master还能用。两台同时挂的可能性太低了。


    多个app对应多个数据库服务器,数据库服务器挂了,那这个app不就废了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5363 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 07:07 · PVG 15:07 · LAX 00:07 · JFK 03:07
    ♥ Do have faith in what you're doing.