网络双活核心技术 网络双活核心技术分析: 网络层双活主要通过SDN技术实现网络自动化部署,通过VXLAN构建跨数据中心大二层网络、通过EVPN技术实现跨数据中心互联,三大技术相辅相成共同实现网络层双活...网络安全层技术 网络双活核心技术分析: 双活数据中心网络安全防护建议最新等级保护2.0相关要求部署相关的安全设备进行整体安全防护。
服务端进行状态维护主要是通过磁盘或内存进行保存,比如MySQL数据库,redis等内存数据库。除了这两种类型的维护方式,还有jvm的内存的状态维持,但jvm的状态生命周期通常很短。...其他的高可用方案还可以参考各类数据库的多种部署模式,比如mysql的主从、双主多从、MHA;redis的主从,哨兵,cluster等等。 同城双活 前面讲到的几种方案,基本都是在一个局域网内进行的。...异地双活 同城双活可以应对大部分的灾备情况,但是碰到大面积停电,或者自然灾害的时候,服务依然会中断。...所以大多数的互联网公司采用了异地双活的方案。 上图是一个简单的异地双活的示意图。...实际上,异地双活和异地多活已经很像了,双活的结构更为简单,所以在程序架构上不用做过多的考虑,只需要做传统的限流,failover等操作即可。但其实双活只是一个临时的步骤,最终的目的是切换到多活。
我们先来看下之前的一个简略版设计,这是基于分布式设计方案,可以引入数据组件syncer和writer,实现机房多活的业务需求,syncer和writer为数据的发布者和消费者,基于分布式协议进行处理。...此种方案短期内难以实现,但是长期来看,可以支持机房多活,业务价值更高。 ? 当然在具体设计的时候,其实有很多现实的问题摆在面前,在经过了几次讨论和各个技术方向的对接讨论后,我设计了如下的方案。 ?...源端如何得到这些实时的数据变化,我们可以采用虚拟从库(virtual_slave)的组件来进行对接,这里可以参考的有canal,maxwell和mysql-python-replication,我们这里目前先行测试使用的是...为了提高定制能力,我们需要加入过滤器(stream-filter)来进行过滤,同时在下发解析请求的时候可以通过路由的方式打到不同的队列里面,这里的队列可选方案有Redis,Kafka,RabbitMQ等,因为是双活方案...而缓存队列只是数据的一个流转节点,不需要保留过长的时间,所以数据下发之后就需要持久化,持久化代表着这个消息是完整唯一的,而多个通道同时写入就需要做去重的基本工作,这个如果采用MySQL方案可以很容易使用
image.png 理论上讲,上面这种结构是可行的,但实际应用中,要考虑的因素会更多: 1、1个机房变3个机房,这成本就得翻好几倍了,回想一下mysql之类的解决方案,master-slave架构顶多放...解决了双机房ES"读"的问题,再来看“写”的问题,可能有同学说了,这还不简单,直接双写就行了吧,一份数据,向A、B机房的ES集群各写一份。...听想来貌似可行,但是有一些细节问题 : 1、双写并非原子操作,如果A机房的ES集群写成功了,B机房的ES集群没写成功,该怎么办?...2、当B机房的ES挂了,双写不进去时,过一段时间又恢复后,故障期间的数据,B机房的ES集群怎么补进去?如果手动事后补数据,虽然可行,但是毕竟麻烦。...当然,这个方案的提前是MQ本身是高可用的,不过这个不难做到,已经有一些rocket mq双机房多活的案例,不在本文讨论范围,大家可以自行搜索。
2、数据双活 MySQL:采用MHA部署方案,主从半同步方案保证数据一致性。读写分离、读就近路由到机房内数据节点、写路由到master节点所在机房。...架构方案较为简单,核心是解决底层数据双活,由于双机房距离近,通信质量好,底层储存例如mysql可以采用同步复制,有效保证双机房数据一致性。...服务规模足够大(例如单体应用超过万台机器),所有机器链接一个主数据库实例会引起连接不足问题。 三、两地三中心架构 所谓两地三中心是指 同城双中心 + 异地灾备中心。...架构方案较为简单,核心是解决底层数据双活,由于双机房距离近,通信质量好,底层储存例如mysql可以采用同步复制,有效保证双机房数据一致性。...由于篇幅限制本文并未详细介绍各种储存(例如Redis、MySQL)在多活下数据同步复制以及高可用方案,有兴趣的同学可以去深入了解这方面知识。
最近恰好在搞异地双活,以下是一个梳理: 基本概念 1、异地容灾。这仅仅是一个冷备的概念。也就是在平时正常的时候,另外一个机房只是当做备份。 2、异地双(多)活。...业务以及基础组件异地双活方案 业务实例异地双活 业务实例的异地双活。这个相对来说要简单一些,只要做到无状态,再如果通过docker这些容器结束,基本上是相对来说容易一些。...同步可以通过客户端双写,或者服务端复制。双写更加容易。 Redis的异地双活 Redis 的异地双活。就是分别在每个机房搭建一套Redis集群。...读取流程: 写入流程: 全局操作: 数据库的异地双活 canal: 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。...,延迟的问题会彻底放大; 3 、跨机房的专线很大概率会出问题,要做好运维或者程序层面的容错; 4 、不能依赖MySQL双写,必须有适应自身业务的跨机房消息同步方案; 5 、MySQL或者其他存储的数据同步问题
存储层双活本质上是HyperMetro通过数据双写和DCL机制实现存储层数据的双活,两个数据中心同时对主机提供数据读写的能力。(即2端存储做集群、数据双写、数据一致性回滚)。...数据双写机制:应用服务器下发I/O请求时,可同时下发到本端Cache和远端Cache,从而保证本端Cache与远端Cache的变更数据一致性。...同时双活可以通过另一端存储系统的数据,对坏数据进行修复,保证两个数据中心的数据一致。
文章目录 一、 双进程守护保活原理 二、 双进程守护保活完整源码 1、AIDL 接口 2、本地前台服务 Service 3、远程前台服务 Service 4、清单配置 5、启动两个服务 5、执行效果...三、 源码资源 一、 双进程守护保活原理 ---- 双进程守护拉活 , 使用 JobScheduler 拉活 和 系统 Service 机制拉活 两种拉活方式 , 结合起来使用 ; 双进程机制拉活 ,...比之前的 广播拉活 , 系统 Service 机制拉活 , 账户同步拉活 , JobScheduler 机制拉活 , 成功率都要高 , 可靠性比较高 , 但是也存在失败的情况 ; JobScheduler.../ 通信内容 } } " 本地前台进程 " LocalForegroundService 在 onCreate 方法中开启前台服务 , 提权 , 参考 【Android 进程保活】...android.permission.FOREGROUND_SERVICE 权限 : 二、 双进程守护保活完整源码
Web服务器、APP服务器一般用虚机实现,DB更多是以物理机来实现(因为对服务器要求较高,对IOPS的性能要满足要求,所以DB服务器以物理机部署的居多,当然也存在DB装在虚机上,然后通过存储阵列映射到安装数据库的虚机上...但是项目中见的更多的是让数据库独享服务器。 C/S架构:在C/S架构中前端是客户端、后端是服务器。
在B/S应用中的双活设计一般考虑三个层次,分别是WEB层、APP层、DB层。...在APP层和DB层就需要部署跨数据中心集群软件,从而实现应用层双活。...数据库主要和应用服务器对接,数据库双活一般都是AA的,也可以是AS。
基于TKE集群本身的健康检查机制等,保证了进程的高可用 TCM详细资料参考:https://cloud.tencent.com/document/product/1261/62928 架构设计方案 同城双活需求分析...使用了TCM产品,只需要考虑数据面的高可用建设,即业务程序的同城双活。...这种架构模式下,有两个技术点需要解决: 接入层的流量负载均衡 逻辑层的set部署,即可用区内流量闭环 设计方案 适合上面同城双活的集群部署模式,如下图一、图二所示。...图二 建设要求 一个服务网格+一个TKE集群 一个服务网格+两个TKE集群 部署模式 承载双活业务的
前言今天老板让我写一篇腾讯云云原生的微服务项目部署实践,还要实现同城双活。...听说ChatGPT已经“出圈”了,无所不能,还可以帮人写文章,刚好最近比较懒,看看他能否帮我写完这篇实践,并教会我实现同城双活部署。...为了实现同城双活,我们已经做了如下动作:数据层的MySQL、Redis和Nacos,开通多可用区版本;在申请Ingress时,加入了多可用区部署annotation。现在只剩下应用层还是单可用区部署。...我们希望只用一套TKE集群实现同城双活,最大程度的节约成本。...从接入层、应用层到数据层,快速地搭建出云上同城双活架构,从而避免单可用区故障,可能导致的访问中断。Excellent!
跨数据中心双活的,它的设计目的是为一个数据中心内有着共享存储的多个主机实现负载均衡和高可用性。...IO 性能做严格的测试,标准的 Oracle 双活方案架构如下。...2Oracle 存储双活安装配置 安装部署存储双活,需要至少6快盘,详细磁盘规划需求如下: AA 机房 BB 机房 仲裁 ZC 机房 任何机房均可 aaocr 盘 bbocr 盘 zcocr 盘 tmpocr...Oracle 双活存储方案和存储厂商的双活方案(如 EMC 的 Vplex)对比有更大的灵活性,透明性,因为底层的存储磁盘对于 Oracle 来说完全可见,而且通过 Oracle 的 Normal 磁盘组的功能实现...无论是 Oracle 的双活存储还是存储厂商的双活解决方案,均适用于两个存储机房距离小于 50 公里的情况,而且最大的瓶颈在于远端的存储节点写入速度,因此在部署双活存储方案时,提前做好底层的磁盘写入速度测试
而且整天见各类技术文章,不是双活,就是多活,不是同城,就是异地,现在又出来个多云,好复杂。 下面我就谈谈我的理解: 首先,这么多名词是什么含义,要搞清楚,然后再看适不适合。...(如果数据层没有这么复杂,只有几个数据库,那是没问题问题的,但是分布式的场景下,上百个,几百个实例切换,这个代价和成本还是很大的。)...准确点,就是物理距离上的时延问题,这个无论是双活、多活,还是同城、异地,都绕不开的痛苦问题。...所以,打算搞双活,先从这里下手,当然牵出来就要涉及到分布式,还有很多大量细节技术问题。...一个合理的建设节奏应该是,同城双活—异地双活—两地三中心(同城双活+异地多活),因为你要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。
应用、中间件云上云下冗余对称部署,同时对外提供服务(应用双活)。 数据库异地主备,异步复制备份。应用读写同一数据中心的数据库,避免考虑一致性问题。...改造内容 应用上云 选择跟自建 IDC 较近的阿里云地域,云上完全冗余的部署一套应用、中间件和数据库,以便搭建云上云下双活容灾架构。在这个 Demo 案例中,选择杭州 Region 作为容灾单元。...中间件和数据库: 云上部署 MSE 托管 ZK/Nacos 注册中心、云数据库 Redis 和 RDS,建议使用跨可用区部署高可用版本,具备同城双活容灾能力。...改造后的应用部署架构 日常场景:IDC+云上同时承担业务流量--应用双活 访问电商 Demo 首页,查看实际流量调用链:概率性的访问到北京或杭州单元,均读写北京单元内的数据库。...预期 应用连接的数据库切换到杭州后,业务完全恢复,不受北京单元的故障影响。 切流操作 进入 MSHA 控制台,在左侧导航栏选择异地应用双活>数据层配置。
解决这个问题的办法比较简单,程序只要定期给 MySQL 发送请求,表示自己还活着,MySQL 就不会触发断开连接的操作了,这就是数据库连接保活的应用场景。 今天我们来聊聊数据库连接保活的原理和方式。...有一些业务系统,低峰期可能很长时间都不会有读写请求,一旦间隔时间超过 wait_timeout,数据库连接就断开了,连接保活自然不可避免。...所以,ping 命令不但可以用于数据库连接探活,还可以用于保活。...两种保活方式对比 既然 ping 和 select 都能实现数据库连接保活,那它们之间有什么不一样?...总结 本文写作的初衷就是为了对比 ping 和 select 两种数据库连接保活方式的执行效率。
这是学习笔记的第 2132 篇文章 前几天写了一篇关于业务双活的数据切换思路设计,我今天把下半部分补充一下。...业务双活的数据切换思路设计(上) 首先整个业务的上游是流量入口,分为读流量和写流量,整体是分布式设计。 ?...而“已有数据服务”的写流量照样是写入,这样就达到了一种“理想”的双写状态。 ?
今天来和大家聊聊双活数据中心解决方案,双活方案中2个数据中心站点之间均为双活特性,在双活数据中心中2个中心同时处于运行状态,同时承担生产业务,可大幅提升整体服务能力和资源利用率。...由于华为公司的产品线相当齐全,华为双活数据中心方案中可以做到6层端到端双活从而大大提升了双活数据中心的业务上线速度。目前在双活数据中心中有2类双活形态即AA双活和AP双活。...该方案在现网中也有很多应用但是假双活并非我们部署双活数据中心的真正目的,笔者也不看好AP形式的双活数据中心。...华为双活数据中心解决方案中采用AA双活以HM特性(存储双活特性)为基础同时结合其他计算和网络组件,组合起来为用户提供双活解决方案。...华为双活数据中心解决方案以以上6层双活实现端到端双活,该方案具有故障点少系统可靠性高的特点。
领取专属 10元无门槛券
手把手带您无忧上云