typedef enum EMSqlMode
{
SM_CONST, //数据一致性优先,当有故障发生时,不进行主、从切换
SM_HA, //高可用性优先,当有故障发生时,进行主、从切换
SM_OTHER
}EMSqlMode;
1
TakWolf 2017-03-23 09:35:48 +08:00
看不懂笑点,楼主给解释下
|
2
jsjjdzg 2017-03-23 09:40:21 +08:00
当有故障发生时,到底进不进行主、从切换?
|
3
ZhLTE 2017-03-23 09:43:31 +08:00 via Android
同没看懂。
|
4
Lawrence886 OP @jsjjdzg 他们的策略是有故障发生,直接开机重启,再连网络。。。别问我怎么知道的,都是泪啊。
|
5
Lawrence886 OP @Lawrence886 迷之分布式数据库。
|
6
Techman 2017-03-23 09:51:45 +08:00 1
迷之梗
|
7
lydasia 2017-03-23 09:52:20 +08:00 1
哈哈哈哈哈哈哈哈
不好笑。 |
8
riaqn 2017-03-23 10:05:45 +08:00
另外这个英文写错了吧 一致性是 consistent 缩写怎么也不可能是 const 啊。
|
9
Lawrence886 OP @riaqn 没错,都是泪啊。公司人英语都是这个水平,我之前看到过 Scaner, Synatax 。
|
10
Lawrence886 OP @riaqn 打算跑路了。
|
11
wyx 2017-03-23 10:22:39 +08:00
SM_OTHER 表示的是什么呢
|
12
Lawrence886 OP @wyx 据他们说是还没想好。。。
|
13
tigerstudent 2017-03-23 10:28:06 +08:00
有人笑了的话麻烦通知我一声,我给他点赞(感谢)。
|
14
Lawrence886 OP @tigerstudent 这个梗太专业了,可能没做过的人不能懂。。。
|
15
R18 2017-03-23 10:34:40 +08:00
这个帖子 我能笑一会
|
16
justfun 2017-03-23 10:39:25 +08:00
楼下尴尬的回复够我笑一会了= =
|
17
Lawrence886 OP @justfun 蜜汁尴尬
|
18
sinxccc 2017-03-23 10:48:31 +08:00
没有 get 到笑点,这两个状态都没什么问题啊……
|
19
fxxkgw 2017-03-23 10:50:27 +08:00
C 的枚举 有什么问题么? 没看出来
|
20
littleylv 2017-03-23 10:57:29 +08:00
同没 get 到笑点。
|
21
magicbrighter 2017-03-23 10:59:17 +08:00 2
CAP CP 当保证强一致性可用性降低
AP 保证可用性,数据未及时同步,主从切换后,可能数据不一致 |
22
murmur 2017-03-23 11:01:29 +08:00 1
这个感觉设计没错 如果故障发生时 切换主从数据 很可能把备份数据库也搞挂了 有多少问题是因为删库的时候没及时发现结果备份库也被删了的
本来主从不是集群啊 主从不是集群啊大家 从库是个备胎主库不用从库是不会上的 |
23
Lawrence886 OP |
24
murmur 2017-03-23 11:17:54 +08:00
@Lawrence886 这种策略看他运维怎么弄吧 我们有个数据源就是 相当于中间库 写入是两个独立的 webapp 去写入 如果一个系统挂了 直接改配置文件切过去
因为这个中间库只是其他数据的一部分 盲目切换可能有些配套数据不在切过去问题更大 所以还不如从库留在那里备用 出故障的时候评估一下问题有多大 再决定是手动切从库把数据顶上去还是直接修主库 企业应用屁事一堆 架构乱七八糟的 手动主从出事的也不在少数 自动集群问题也有 有的集群同步时间只有 5 分钟 也就是说你出了事只有 5 分钟的时间给你响应 如果你错过这 5 分钟你的从库也一样出事 |
25
vjnjc 2017-03-23 11:19:18 +08:00
所以从机就一直空载么?
|
27
Lawrence886 OP @murmur 开眼界了。。。
|
28
Lawrence886 OP @vjnjc 正解
|
30
murmur 2017-03-23 11:52:25 +08:00
@Lawrence886 其实这就是个省钱一点的防误操作的方案而已,而且怕做数据处理的程序挂掉所以程序也是 2 份独立写入,企业开发又没要求多少并发,只要求他出莫名其妙的问题时候随手可以拉一台机器换上去接着用,自动同步是好,但是万一把误操作也同步上去不就亏大了
没啥开眼界的。。至于 @suckli 说的一致性,我们是用 oracle ,相信 oracle 不会让我们失望,这个问题对我来说,就跟你问我事务把你骗了怎么办。。一样 |
31
yuedingwangji 2017-03-23 12:34:58 +08:00
小白表示笑不出来
|
32
xialdj 2017-03-23 12:37:32 +08:00 via iPhone
哦
|
33
sunber 2017-03-23 13:45:38 +08:00
哈哈哈哈哈
我在笑什么???黑人问号 |
34
Fishdrowned 2017-03-23 13:56:48 +08:00
|
35
Caratpine 2017-03-23 14:08:01 +08:00 3
笑,都 TM 给我笑🙂
|
36
Gsyc1 2017-03-23 14:11:08 +08:00 1
路过,不知道在说什么
|
37
cloudzhou 2017-03-23 18:48:53 +08:00
@Lawrence886 @murmur 没看出有什么不对,可能设计的时候,有中间件,比如检测出现数据库异常,尝试切换到从数据库,但是有一些数据非常重要,需要人工确定是否切换,所以有两种处理逻辑:
1 中间件决定切换,切换后通知开发人员 2 中间件报警,通知开发人员,开发人员决定是否切换 因为切换的代价是很高的,如果开发人员知道某种原因数据库不可用,并且会恢复,那么可以不切换,保持数据的一致性,尽量使用主数据库 从数据库很多时候本身就是空载,类似实时备份。 |
38
prasanta 2017-03-23 23:53:04 +08:00
哈哈哈哈哈哈哈
|
39
richzhu 2017-03-24 11:23:51 +08:00
呵呵
|
40
Lawrence886 OP @richzhu 呵呵
|