标签:多个 机器 带来 并且 幸好 数据迁移 关联查询 ddl 运行
有状态分布式,涉及的知识就比較多了,只是我们能够拿几个现实的样例由浅入深的来理解。
你心想幸好我有备份,然后巴拉巴拉的恢复起来。用了2个小时。老板说不错,可是—-我们由于宕机造成大量用户流失,信誉下降,然后就又没有然后了。上面说的就是单点的问题。
此时掌声一片,你沉浸在无比的欢乐中,老板说不错,可是—就在这5分钟我们丢了一个上亿的单子。我擦。你不是有益的吧!
(事实上这有可能是真实的片段,我们创业时,就30分钟断网。结果正好在举行一个大型的营销策划,不说了,我擦一会眼泪)。然后就又没有然后了。事实上当你用上主备时,说明数据库已经有状态了,必须要区分谁是主,谁是备。
突然有一天。主数据库硬盘挂掉了。你从容的端起了你的屌丝杯,世界清静了。
老板说不错,小子我看好你。
从此你走向人生巅峰。出任CTO,迎娶白富美。可是没过多久问题来了,随着用户不断的添加。你的数据库摇摇欲坠,不时就抽疯。老板说搞定他,不然我就搞定你。
怎样分,这就涉及到很多其它的规则了,比方依照用户id是最常见的做法。此时你不但须要管主备并且还须要在程序中确定怎样路由。结果集合并,如果再有机器添加。还要涉及数据迁移。另外还要防止出现反复id的脏数据,须要全局唯一主键。等等。
亚美蝶!知道有状态的痛苦了吧。这也是为什么有些同学转投nosql的存储的非常大原因,nosql替你屏蔽了这些规则。他在内部实现了路由、分库、合并等等。
标签:多个 机器 带来 并且 幸好 数据迁移 关联查询 ddl 运行
原文地址:http://www.cnblogs.com/blfbuaa/p/7244254.html