Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >浅谈双机房的那些事

浅谈双机房的那些事

作者头像
WindWant
发布于 2023-07-20 13:45:34
发布于 2023-07-20 13:45:34
5320
举报
文章被收录于专栏:后端码事后端码事

为什么要有双机房?

可能有几个考虑:

  • 容灾:强如阿里云、微信、唯品会等,依然避免不了机房故障问题。一次这个级别的故障,就会有一个技术头头下野。
  • 更快的响应:网络时延和物理距离成正比,用户距离服务越近,时延越友好 。不同的地域,多机房多活模式,就近提供服务。

一、双机房需要做什么?

1、一套完备的服务

完备的服务包括哪些?

应用服务实例,缓存服务实例、数据库服务实例、mq 服务实例等。

服务实例数量可以根据实际需要确定,不必要求安全对等,但是比例不能乱。

2、数据同步

数据的同步是至关重要的。数据是业务逻辑的承载和服务状态的基础。

数据同步强调准确性和实时性。 两个机房的数据根据不同的活性模式,数据域可能略有差异,但是相同的数据域必须要保障一致性。

3、服务就近调用

这里说的服务调用是指内部服务之间的访问需求,就近是指访问限定在机房域内,尽量避免跨机房调用。

服务调用主要分如下几个点:

a)Http 方式

http 方式简洁,易用,是服务间交互的常用方式,通常使用内部域名(避免直接ip访问)访问。

双机房建设,则需要做好相应的适配。

b)rpc 方式

rpc 方式则更侧重扩展性,可靠性,高效性等。通常有相应的服务框架及管理框架支持。

rpc 服务提供者和使用者通过服务注册中心进行服务注册发现交互。

双机房注册及发现,需要有相应的【就近策略】支持。

c)mq 方式

mq 异步交互模式。

业务消息限制发送到同一机房,并由同一机房服务进行消费。

二、双机房的两种模式

1、灾备

灾备模式,即机房服务作为备用,不参与对外服务。一旦主机房发生故障,快速切换响应。

这种建设模式因为变更来源全部为主机房单向数据同步,所以比较容易实现。

灾备模式需要做什么?

灾备模式数据同步实时性要求没有那么高。更强调数据的最终一致性。

备机房服务节点可以直接作为备节点模式进行数据的同步。

2、双活

双活模式,即两个机房同时对外提供服务,同时对底层数据产生变更操作。

这种涉及的逻辑比较复杂,要求也相对较高,强要求数据同步实时性。

双活模式需要做什么?

a)用户切割

所谓用户切割即,划分两个机房服务不同的用户群体。尽量使得同一个用户的数据变更都发生在同一个机房。

切割通常可以从网关层面进行流量调度。

调度策略可以基于用户属性层面考量,比如:地域、ID特性等。

b)数据双向同步

数据双向同步,听着就麻烦,所以必须有 a)中的用户切割作为基础。

对于可能产生的同一数据的双相同步场景(数据冲突等),处理尤要慎重(基于时间戳、外部验证等前置验证方式)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
同城双活与异地多活架构分析
采用高可用系统架构支持重要系统,为关键业务提供7x24的不间断服务,已经成为众多企业保障业务稳定、持续运转的主要选择。服务多活是高可用架构重要实施手段,本文介绍了一些业界常用的多活手段例如同城双活、两地三中心、异地多活架构设计方案并详述了各种方案的优缺点。
2020labs小助手
2020/09/14
12.5K0
浅谈业务级灾备的架构模式
互联网常见的高可用手段。比如服务冗余部署、异步化设计、负载均衡、服务限流降级熔断、架构拆分、服务治理、分布式存储等等,今天主要是一起聊下,多机房部署的灾备架构模式,来确保服务的高可用。
得物技术
2023/07/06
1.2K0
浅谈业务级灾备的架构模式
异地双活实践笔记
最近恰好在搞异地双活,以下是一个梳理: 基本概念 1、异地容灾。这仅仅是一个冷备的概念。也就是在平时正常的时候,另外一个机房只是当做备份。 2、异地双(多)活。而异地双(多)活,却是指有两个或者多个可以同时对外服务的节点,任意一个点挂了,也可以迅速切换到其他节点对外服务,节点之间的数据做到准实时同步。 分类 根据是否需要数据同步大体分为三类: 1、必须同步型。(比如数据库) 2、无须同步型。比如缓存,仅仅是当做缓存,就可以这样做(这个有待商榷,其实缓存也需要同步的,严格来说的话)。 3、只能单活(对全局原
ImportSource
2018/04/03
12.2K0
异地双活实践笔记
简述异地多活方案以及腾讯云实践
为了保障系统可用性, 我们通常会为了应对故障将组件或数据做冗余。常见的类型包括: 变更故障、硬件故障、断电断网、自然灾害, 发生的频率一次降低。
CPT-leobhao
2022/08/29
3.1K0
银行核心背后的落地工程体系丨混沌测试的场景设计与实战演练
与集中式架构相比,分布式架构的系统复杂性呈指数级增长,混沌工程在信创转型、分布式架构转型、小机下移等过程中有效保障了生产的稳定性。本文分享了 TiDB 分布式数据库在银行核心业务系统落地中进行混沌测试的场景设计和实践。
PingCAP
2024/05/15
1670
服务器灾备解决方案–两地三中心(图文详解)[通俗易懂]
灾备: 是指容灾和备份。容灾是为了在遭遇灾害时能保证信息系统能正常运行,帮助企业实现业务7*24小时连续性的目标,备份是为了应对灾难来临时造成的数据丢失问题。容灾备份产品的最终目标是帮助企业应对人为误操作、软件错误、病毒入侵等“软”性灾害以及硬件故障、自然灾害等“硬”性灾害。
全栈程序员站长
2022/09/07
22.2K1
超3亿活跃用户的多活架构,数据同步与流量调度怎么做?
多活成本比较高的,双活是两倍,三活可能成本会低一些,但三活的难度更大。因此没有办法对所有业务进行多活,只能对主线做多活。
jeanron100
2021/04/22
2.1K0
超3亿活跃用户的多活架构,数据同步与流量调度怎么做?
同城双活:交易链路的稳定性与可靠性探索
2022年,基于对稳定性的焦虑...和思考,交易平台联动中间件平台启动过异地多活项目的探索,虽然完成了核心应用及基础组件的改造,但在疫情&降本增效的影响下并未真正投产,同时也缺乏充分的测试以及线上流量的大规模验证;后续在不断的业务迭代中,相关设计及代码被冲击的面目全非,相关的多活自动化测试case也并没有沉淀下来。
得物技术
2024/03/27
5231
同城双活:交易链路的稳定性与可靠性探索
追前沿,领略SET化架构衍化与设计
备注:当你再一个cluster钟使用了federation插件,所有在集群中的 nodes都需要安装federation插件
用户1212940
2022/04/13
9130
追前沿,领略SET化架构衍化与设计
今日头条在消息服务平台和容灾体系建设方面的实践与思考
今日头条的服务大量使用微服务,容器数目巨大,业务线繁多, Topic 的数量也非常多。另外,使用的语言比较繁杂,包括 Python,Go, C++, Java, JS 等,对于基础组件的接入,维护 SDK 的成本很高。
Java_老男孩
2019/12/03
8940
历时三年,苏宁如何建设多数据中心多活的实践项目?
随着苏宁线下线上业务以及全产业、全业态规模式快速增长,特别是每年苏宁 818 大促、双 11 等大促节点,销售订单基本都呈现倍数级增长态势,需要进行大量资源扩容,单个数据中心的容量有限,已经无法支撑苏宁业务的快速发展。同时,单数据中心在高可用上存在不足,一旦数据中心发生故障,会导致业务受损,用户访问中断,带来严重的影响。针对以上问题,苏宁规划建设多数据中心解决方案迫在眉睫。
深度学习与Python
2020/11/06
1.7K0
历时三年,苏宁如何建设多数据中心多活的实践项目?
醍醐灌顶!异地多活架构设计看这篇就够了
异地多活是分布式系统架构设计的一座高峰,当业务系统走到需要考虑异地多活这一步,其体量和复杂度都会达到很高的水准。接入层、逻辑层、数据层的三层架构,基本上是每个业务都会拥有的基础架构形态,而三层架构的关键在于数据层,本文将从数据层切入探讨异地多活对于基础架构设计的影响。
腾讯云开发者
2024/10/15
3.6K0
醍醐灌顶!异地多活架构设计看这篇就够了
做容灾,双活、多活、同城、异地、多云,到底应该怎么选?
去年写过一篇《做容灾,冷备是不是个好方案?》,当时提出来,冷备或者主备,其实并不是一个理想的方案,而且绝大多数情况下,只能是一个心理安慰,真正发生故障的情况下,这样的容灾模式根本起不到作用。
赵成
2019/03/18
3K0
同城异地灾备
同城异地灾备,主要是用来进行备份容灾的,从而当一个数据中心挂了,另外一个数据中心经过切换之后,能让服务迅速的恢复。
SRE运维实践
2019/07/08
4.2K0
同城异地灾备
突围电商大促场景,得物在高可用上的探索与实践 | 卓越技术团队访谈录
采访嘉宾 | 金思宇、陈贞宝、胡强忠 编辑 | 辛晓亮   大型电商系统并非一开始就具有完整设计的高可用特性,而是随着用户的不断增加与业务的快速增长逐步演进与完善的。当前高可用架构体系是互联网企业系统架构的基础要求,随着公司的业务发展,尤其是对于电商平台,每次发生稳定性故障带来的影响越来越大,提供稳定的服务,保证系统的高可用已经变成了整个技术团队需要面对的挑战。 基于此,我们深度采访了得物技术团队核心成员,探索他们在高可用架构上的实践、演进,深入了解大促备战是如何进行的,异地多活体系是如何建设的,全链路
深度学习与Python
2023/03/29
2.1K0
突围电商大促场景,得物在高可用上的探索与实践 | 卓越技术团队访谈录
CKV+异地容灾探索和实践
今天跟大家分享的题目为《CKV+异地容灾探索和实践》。CKV+是一个兼容redis协议的内存数据库,现在大部分用户对内存数据库的要求越来越高,对一致性、异地容灾等方面也提出更高的要求。下面从过往经验教训、可用性&一致性、CKV+架构演进、CKV+单活多可用区和CKV+多活架构探索等方面跟分享一些关于容灾的实践和思考。
腾讯 架构师
2022/01/18
1.3K0
CKV+异地容灾探索和实践
拆解交易系统--异地多活
很多产品发展到一定规模之后,可能会走出国门,技术架构要做到国际化。或者基于高可用 / 高性能的需求,需要做异地多活。
春哥大魔王
2020/01/16
7900
拆解交易系统--异地多活
详解:淘宝高可用异地多活架构
作者丨DongGuoChao 来源丨https://blog.dogchao.cn/?p=299 导读:异地多活,作为一种高可用部署架构,成为大中型互联网公司的选择。像大家熟知的大型互联网公司,如阿里
xcbeyond
2020/11/30
2.6K0
详解:淘宝高可用异地多活架构
聊聊高可用的“异地多活”架构设计
来源:https://blog.dogchao.cn/?p=299  前言 后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理
程序猿DD
2022/10/11
1.7K0
聊聊高可用的“异地多活”架构设计
基于 MySQL 多通道主主复制的机房容灾方案
在云网融合大数据时代,数据已经成为重要的生产要素。特别是棱镜门、永恒之蓝、汶川大地震这类造成大规模数据丢失和泄漏的人为或自然灾害事件发生后,中国相继出台了一系列的法律法规,对各组织机构的数据安全保护条件进行限定,如 2016 年颁布的《中华人民共和国网络安全法》、 2021 年全国人民代表大会通过的《数据安全法》等。
深度学习与Python
2023/11/17
3080
基于 MySQL 多通道主主复制的机房容灾方案
推荐阅读
相关推荐
同城双活与异地多活架构分析
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档