设计分布式数据库,自然也要做好写冗余和读冗余的设置,读取操作做好数据库的同步工作并设计好一个负载均衡算法即可,办法实现的很多,问题在于写数据库的冗余热备方案比较麻烦。
最好的一种设想
多台写服务器同时处于alive状态,一台挂掉另一台还能维持系统运转。
既可以做写数据的负载均衡,又做到数据的一致性,只是算法就比较麻烦,可能采用最多的就是paxos算法,这个由于时间原因暂时无法去实现了。
或者按照http://home.wangjianshuo.com/cn/20100201_aeaeaecee.htm提出的方法,但是对于写前读操作存在一些问题,如注册用户,先检查是否库中存在该用户名,不知道我该去那个 写库 去查询,两个库都可能不是最新库。
于是退一步
一台写服务器工作,另一台做备份,当第一台宕机后,第二台备机开始接受写操作,可以避免上述一些问题,不过怎么判断主机宕了,从而实现写操作转向备机是个问题,还有主机新写入数据,热备机暂时还未同步过去,等主机启动好后,两机同步怎么做,主机和备机要相互同步。。。
暂时没钱搞阵列柜,不过阵列柜也是要热备的吧?请有经验高人指教,愁死了
------解决方案--------------------------------------------------------
建议看看mysql的innodb设计.
里面有一些集群的配置,讲了它的一些实现方法.
------解决方案--------------------------------------------------------
顶起来,继续问问,现在大家都不涉及到这方面吗
------解决方案--------------------------------------------------------
长期顶,这是大型应用必走之路吧,没有个相对入门的方案吗。
同时学习中……
------解决方案--------------------------------------------------------
楼主,我也在做分布式处理,我也想要让数据库优化的更好,来逛论坛,顶上!
如果你有很好的方法,希望分享哦