![]() | 1 lu18887 2014-05-13 11:38:59 +08:00 考虑数据库集群。多个读节点,多个写节点,多个读写节点。依赖于协调节点进行协调的要注意协调节点的高可用性。 |
![]() | 2 kevinv 2014-05-13 12:18:27 +08:00 CAP原理 对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistency)(所有节点在同一时间具有相同的数据) 可用性(Availability)(保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance)(系统中任意信息的丢失或失败不会影响系统的继续运作) 你说的第一点的单店问题可以通过两个数据库来解决。 建议在对一致性要求不高的情况下,使用按用户段区分或者按区域区分。如果使用一个数据库服务器会有跨网段访问请求的问题。 |
![]() | 3 xiawinter 2014-05-13 12:25:20 +08:00 从我的经验来看,如果你还在和我们讨论这个问题, 那你暂时还不涉及到分布式数据库的问题。 你可以先做起来再说,把这个问题留给能解决的人。 |
![]() | 4 yueyoum OP |
![]() | 5 jckwei 2014-05-13 12:47:34 +08:00 1 一主,其他server从(缓存或落地缓存,目的是减少主数据库压力和防止主数据库挂了还能使用一些读服务) |
![]() | 6 cevincheung 2014-05-13 14:42:09 +08:00 还是建议使用至少两台数据库服务器,中间使用atlas类似的中间件可以对程序实现透明访问。即便master挂了slave还能用。slave挂了master还能用。两台同时挂的可能性太低了。 多个app对应多个数据库服务器,数据库服务器挂了,那这个app不就废了 |