这个梗我能笑一年。

2017-03-23 09:32:42 +08:00
 Lawrence886
typedef enum EMSqlMode
{
	SM_CONST,	//数据一致性优先,当有故障发生时,不进行主、从切换
	SM_HA,		//高可用性优先,当有故障发生时,进行主、从切换
	SM_OTHER
}EMSqlMode;
6573 次点击
所在节点    数据库
40 条回复
magicbrighter
2017-03-23 10:59:17 +08:00
CAP CP 当保证强一致性可用性降低
AP 保证可用性,数据未及时同步,主从切换后,可能数据不一致
murmur
2017-03-23 11:01:29 +08:00
这个感觉设计没错 如果故障发生时 切换主从数据 很可能把备份数据库也搞挂了 有多少问题是因为删库的时候没及时发现结果备份库也被删了的

本来主从不是集群啊 主从不是集群啊大家 从库是个备胎主库不用从库是不会上的
Lawrence886
2017-03-23 11:07:43 +08:00
@murmur
@magicbrighter 然而他们根本没实现同步,本身就是可能存在数据不一致的。于是他们就妄想只要故障了不切换,就能够一致。
murmur
2017-03-23 11:17:54 +08:00
@Lawrence886 这种策略看他运维怎么弄吧 我们有个数据源就是 相当于中间库 写入是两个独立的 webapp 去写入 如果一个系统挂了 直接改配置文件切过去

因为这个中间库只是其他数据的一部分 盲目切换可能有些配套数据不在切过去问题更大 所以还不如从库留在那里备用 出故障的时候评估一下问题有多大 再决定是手动切从库把数据顶上去还是直接修主库

企业应用屁事一堆 架构乱七八糟的 手动主从出事的也不在少数 自动集群问题也有 有的集群同步时间只有 5 分钟 也就是说你出了事只有 5 分钟的时间给你响应 如果你错过这 5 分钟你的从库也一样出事
vjnjc
2017-03-23 11:19:18 +08:00
所以从机就一直空载么?
suckli
2017-03-23 11:20:05 +08:00
@murmur
两个独立的写入根本没办法保证一致性啊,一个写失败一个写成功怎么破~
Lawrence886
2017-03-23 11:22:05 +08:00
@murmur 开眼界了。。。
Lawrence886
2017-03-23 11:22:50 +08:00
@vjnjc 正解
murmur
2017-03-23 11:27:02 +08:00
@suckli 这我就不清楚了 银行的 2 地三机房是怎么保持一致性的呢。。。最后的底线估计是银行留的纸质单据吧
murmur
2017-03-23 11:52:25 +08:00
@Lawrence886 其实这就是个省钱一点的防误操作的方案而已,而且怕做数据处理的程序挂掉所以程序也是 2 份独立写入,企业开发又没要求多少并发,只要求他出莫名其妙的问题时候随手可以拉一台机器换上去接着用,自动同步是好,但是万一把误操作也同步上去不就亏大了

没啥开眼界的。。至于 @suckli 说的一致性,我们是用 oracle ,相信 oracle 不会让我们失望,这个问题对我来说,就跟你问我事务把你骗了怎么办。。一样
yuedingwangji
2017-03-23 12:34:58 +08:00
小白表示笑不出来
xialdj
2017-03-23 12:37:32 +08:00
sunber
2017-03-23 13:45:38 +08:00
哈哈哈哈哈

我在笑什么???黑人问号
Fishdrowned
2017-03-23 13:56:48 +08:00
https://github.com/pingcap/tidb

虽然我还没用过,不过感觉 tidb 可以帮到你
Caratpine
2017-03-23 14:08:01 +08:00
笑,都 TM 给我笑🙂
Gsyc1
2017-03-23 14:11:08 +08:00
路过,不知道在说什么
cloudzhou
2017-03-23 18:48:53 +08:00
@Lawrence886 @murmur 没看出有什么不对,可能设计的时候,有中间件,比如检测出现数据库异常,尝试切换到从数据库,但是有一些数据非常重要,需要人工确定是否切换,所以有两种处理逻辑:
1 中间件决定切换,切换后通知开发人员
2 中间件报警,通知开发人员,开发人员决定是否切换

因为切换的代价是很高的,如果开发人员知道某种原因数据库不可用,并且会恢复,那么可以不切换,保持数据的一致性,尽量使用主数据库
从数据库很多时候本身就是空载,类似实时备份。
prasanta
2017-03-23 23:53:04 +08:00
哈哈哈哈哈哈哈
richzhu
2017-03-24 11:23:51 +08:00
呵呵
Lawrence886
2017-03-24 13:59:17 +08:00
@richzhu 呵呵

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349645

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX