请教一个关于双机房的问题

61 天前
 VEXGOD
场景是公司有两个机房,主机房和备用机房,两个机房的数据库做了主从同步,现在有个问题,就是当主机房断电后,我们会通过域名来切换到备用机房,但是当有电之后还是要切回主机房,当切回主机房之后,在备用机房产生的额外的数据怎么同步给主机房。还有就是主从同步也会因为备用机房多出来的数据而断掉,这也是个问题。除了用 dump 数据重新同步,还有什么比较好的方法吗
1279 次点击
所在节点    站长
14 条回复
fru1t
61 天前
两个机房做双活?还分什么主备
lplplp
61 天前
关于数据库异地主从同步问题,看是什么库 一般常用都有标准解决方案和最佳实践,也可以找数据库供应商
fs418082760
61 天前
@fru1t #1 双活有数据延迟的前提,一般是 5ms 以内,如果是异地,费用太高
VEXGOD
61 天前
@fru1t 双活以我们公司的能力,无法做到
VEXGOD
61 天前
@lplplp 数据库用的 mysql ,之前从来没搞过这些,现在老板把活交给了我,我真是 fuck 了。真是想不明白,老板脑子里装的什么,之前一直都是另一个专门的运维在搞,莫名奇妙交给我,让我去解决,都 tmd 的自认为写 java 的都会做运维吗
NewYear
61 天前
换换思路,不要想着总是用“技术”且不花钱解决。

首先看公司的网络结构,看你的意思应该是两个机房在同一个厂区/大厦?如果是这样,二者之间延迟应该非常低,停电后需要同步的数据很少,因此只要保留很短时间的时间运作,两边数据库就不会有差异。

解决办法其实一大堆:
1 、两个机房都互相连接备用电路,且电路是直达:就是 A 机房走一条电线去 B 机房,B 机房走一条电路去 A 机房,然后自动切换电源就可以了。
2 、UPS+服务器高频率探测是否断电,断电立刻切换主从,你预估下这个时间最多要多久,再乘以 2 作为备用,购买相应规格 UPS ,如果价格差距很小,可以增大基数。例如切换需要 2 分钟,你直接买能支撑半小时的 UPS 。


这 2 个方案既是万能,实现又简单,花钱就能解决的问题从来都不是问题。

思路:工欲善其事必先利其器,多花钱多花钱多花钱,少把风险抗在自己肩膀上,电路出问题是电工的事情,你怎么还帮电工操心起来了,直接抛给他们解决不好吗?玩电他们可是专业的!!!不要怕花钱,不花钱那是微型企业的通病!!!怕花钱当然容易出问题!!!
要学会博弈:
1 、电路出问题是电工的事情!让他们解决!
2 、服务器出问题影响非常大,必须要有靠谱的方法解决问题!而且应该是自动化解决!
NewYear
61 天前
要确保两边机房一直有网络直连,可以用光纤连接,很远都可以的。

另外要有备用网络,至少要有 2 条稳定的网络连接到对方。。。如果可以的话搞 3 条网络(可以是内网也可以是外网,甚至可以是 4G 网络),并确保任何时候至少有 2 条网络是联通状态的。
VEXGOD
61 天前
@NewYear 谢谢回复,其实现在的问题就是在这里,如果在备用机房搭建的时候想好策略,就不会有现在的问题。现在公司让去解决的就是数据同步的问题,钱是不可能多花一分的,冤大头是肯定要做的。两个机房在同一个园区,上次断电演习,数据量其实不多,也就不到一百条订单。然后最奇葩的就是这 100 多条订单居然没办法同步到主机房上去。
NewYear
61 天前
@VEXGOD 电都没了,还同步个毛线?你只管出方案,形成书面文件,不花钱有什么方式,有什么风险,花钱要怎么花,批不批是领导的事情,非要选高风险也不是你的问题。一分钱没有?那就耗着呗。每次出问题你假装很忙,给各部门表示你很努力了,但是巧妇难为无米之炊。

“一分钱不花”这种策略只能对付供应商,让供应商多花钱,自掏腰包解决问题,变相降低成本了。。但你是什么身份?你如果是供应商那你自掏腰包也是正常。。。但你是员工的话,这样的话说出来就毫无水平了。

另外你的表达很差,在这个帖子里,至今我没有搞明白你是什么职位,你的技术栈会是什么方向,你们公司是什么规模,你们公司的网络架构是怎样的,哪些是可控的,哪些是不可控的,主从切换要多少时间,供电的话要承担多大的电量。
抱怨式发帖要不得,如果你和领导也是这样沟通的,那就混日子吧,其实混日子也挺舒服的。
l22576283
61 天前
只是 mysql ?建议你看一下 mysql 半同步复制集群,看一下这个能不能满足你们的性能要求,搞定这个应该就能满足你们公司的要求了

https://blog.csdn.net/qq_39962403/article/details/131561718
https://juejin.cn/post/7224794158744551480
VEXGOD
61 天前
@NewYear 我是 java 后端,这个项目是公司投标的,目前还在维护阶段。每个公司都有无法言明的东西。可控的东西我一概不知,机房在哪里,里面长什么样我完全不知。唯一知道的就是服务器账号密码。跟领导从来没有沟通过,至于为什么没有沟通,因为公司已经基本没人了,该裁的都裁完了,即便找领导说我做不了这些,他也是只会你研究研究这样的。 我的需求并不是如何去整备机房,我只是想除了 dump 数据库之外,有没有更好的办法去解决现在已经出现的问题。至于为什么抱怨,是因为我觉得领导做事没有任何想法,本来有一个一人运维的好好的,机房,服务器全部都是他在处理,关键他还在职,莫名全部给我这边,我已经回应了好几次,说这件事我做不了,但是没用,群里只会艾特你。
你可以理解为公司内部一塌糊涂,管理无比混乱。
VEXGOD
61 天前
@l22576283 感谢回复,我先看一下
NewYear
61 天前
@VEXGOD

不了解就问,不清楚就实地去考察,只要你的目的是解决问题,都能做好的,至于做成什么样子,那就按领导批复来。

不要抱怨了,这贴别 @ 我了。最后告诉你一句话:你所做的所有事情都是你为公司而做的,不要心理活动那么多,这样只会自寻烦恼,实在不行就离职,别上个班还搞一堆心理疾病出来就不值得了。。。。至于工作能力,其实就是考验你解决问题的能力,以及在混乱中如何坚定内心的定力。。。别把自己搞太被动。。。也不要背太多怨气。
yinmin
61 天前
OP 找个机会和运维吃个饭,探探对方的打算。如果对方有下家了,大概率会把系统的部署情况告诉你;如果对方没准备走,你和对方讲好,如果领导找你,你就直接明面上转给他,来保他的饭碗。

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

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

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

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

© 2021 V2EX