首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高可用解决方案:同城?异地?异地多?怎么实现?

服务端进行状态维护主要是通过磁盘或内存进行保存,比如MySQL数据库,redis等内存数据库。除了这两种类型的维护方式,还有jvm的内存的状态维持,但jvm的状态生命周期通常很短。...其他的高可用方案还可以参考各类数据库的多种部署模式,比如mysql的主从、主多从、MHA;redis的主从,哨兵,cluster等等。 同城 前面讲到的几种方案,基本都是在一个局域网内进行的。...异地 同城可以应对大部分的灾备情况,但是碰到大面积停电,或者自然灾害的时候,服务依然会中断。...所以大多数的互联网公司采用了异地的方案。 上图是一个简单的异地的示意图。...实际上,异地和异地多已经很像了,的结构更为简单,所以在程序架构上不用做过多的考虑,只需要做传统的限流,failover等操作即可。但其实只是一个临时的步骤,最终的目的是切换到多

3.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL业务的初步设计方案

我们先来看下之前的一个简略版设计,这是基于分布式设计方案,可以引入数据组件syncer和writer,实现机房多的业务需求,syncer和writer为数据的发布者和消费者,基于分布式协议进行处理。...此种方案短期内难以实现,但是长期来看,可以支持机房多,业务价值更高。 ? 当然在具体设计的时候,其实有很多现实的问题摆在面前,在经过了几次讨论和各个技术方向的对接讨论后,我设计了如下的方案。 ?...源端如何得到这些实时的数据变化,我们可以采用虚拟从库(virtual_slave)的组件来进行对接,这里可以参考的有canal,maxwell和mysql-python-replication,我们这里目前先行测试使用的是...为了提高定制能力,我们需要加入过滤器(stream-filter)来进行过滤,同时在下发解析请求的时候可以通过路由的方式打到不同的队列里面,这里的队列可选方案有Redis,Kafka,RabbitMQ等,因为是方案...而缓存队列只是数据的一个流转节点,不需要保留过长的时间,所以数据下发之后就需要持久化,持久化代表着这个消息是完整唯一的,而多个通道同时写入就需要做去重的基本工作,这个如果采用MySQL方案可以很容易使用

82420

ES异地方案

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双机房多的案例,不在本文讨论范围,大家可以自行搜索。

4.3K30

同城与异地多架构分析

2、数据 MySQL:采用MHA部署方案,主从半同步方案保证数据一致性。读写分离、读就近路由到机房内数据节点、写路由到master节点所在机房。...架构方案较为简单,核心是解决底层数据,由于双机房距离近,通信质量好,底层储存例如mysql可以采用同步复制,有效保证双机房数据一致性。...服务规模足够大(例如单体应用超过万台机器),所有机器链接一个主数据库实例会引起连接不足问题。 三、两地三中心架构 所谓两地三中心是指 同城中心 + 异地灾备中心。...架构方案较为简单,核心是解决底层数据,由于双机房距离近,通信质量好,底层储存例如mysql可以采用同步复制,有效保证双机房数据一致性。...由于篇幅限制本文并未详细介绍各种储存(例如Redis、MySQL)在多下数据同步复制以及高可用方案,有兴趣的同学可以去深入了解这方面知识。

10.6K62

异地实践笔记

最近恰好在搞异地,以下是一个梳理: 基本概念 1、异地容灾。这仅仅是一个冷备的概念。也就是在平时正常的时候,另外一个机房只是当做备份。 2、异地(多)。...业务以及基础组件异地方案 业务实例异地 业务实例的异地。这个相对来说要简单一些,只要做到无状态,再如果通过docker这些容器结束,基本上是相对来说容易一些。...同步可以通过客户端写,或者服务端复制。写更加容易。 Redis的异地 Redis 的异地。就是分别在每个机房搭建一套Redis集群。...读取流程: 写入流程: 全局操作: 数据库的异地 canal: 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。...,延迟的问题会彻底放大; 3 、跨机房的专线很大概率会出问题,要做好运维或者程序层面的容错; 4 、不能依赖MySQL写,必须有适应自身业务的跨机房消息同步方案; 5 、MySQL或者其他存储的数据同步问题

11.9K111

【Android 进程保】应用进程拉 ( 进程守护保 )

文章目录 一、 进程守护保原理 二、 进程守护保完整源码 1、AIDL 接口 2、本地前台服务 Service 3、远程前台服务 Service 4、清单配置 5、启动两个服务 5、执行效果...三、 源码资源 一、 进程守护保原理 ---- 进程守护拉 , 使用 JobScheduler 拉 和 系统 Service 机制拉 两种拉方式 , 结合起来使用 ; 进程机制拉 ,...比之前的 广播拉 , 系统 Service 机制拉 , 账户同步拉 , JobScheduler 机制拉 , 成功率都要高 , 可靠性比较高 , 但是也存在失败的情况 ; JobScheduler.../ 通信内容 } } " 本地前台进程 " LocalForegroundService 在 onCreate 方法中开启前台服务 , 提权 , 参考 【Android 进程保】...android.permission.FOREGROUND_SERVICE 权限 : 二、 进程守护保完整源码

3.2K21

使用ChatGPT实现同城部署

前言今天老板让我写一篇腾讯云云原生的微服务项目部署实践,还要实现同城。...听说ChatGPT已经“出圈”了,无所不能,还可以帮人写文章,刚好最近比较懒,看看他能否帮我写完这篇实践,并教会我实现同城部署。...为了实现同城,我们已经做了如下动作:数据层的MySQL、Redis和Nacos,开通多可用区版本;在申请Ingress时,加入了多可用区部署annotation。现在只剩下应用层还是单可用区部署。...我们希望只用一套TKE集群实现同城,最大程度的节约成本。...从接入层、应用层到数据层,快速地搭建出云上同城架构,从而避免单可用区故障,可能导致的访问中断。Excellent!

3.3K190

关于 Oracle 存储配置和实战

跨数据中心的,它的设计目的是为一个数据中心内有着共享存储的多个主机实现负载均衡和高可用性。...IO 性能做严格的测试,标准的 Oracle 方案架构如下。...2Oracle 存储安装配置 安装部署存储,需要至少6快盘,详细磁盘规划需求如下: AA 机房 BB 机房 仲裁 ZC 机房 任何机房均可 aaocr 盘 bbocr 盘 zcocr 盘 tmpocr...Oracle 活存储方案和存储厂商的方案(如 EMC 的 Vplex)对比有更大的灵活性,透明性,因为底层的存储磁盘对于 Oracle 来说完全可见,而且通过 Oracle 的 Normal 磁盘组的功能实现...无论是 Oracle 的活存储还是存储厂商的解决方案,均适用于两个存储机房距离小于 50 公里的情况,而且最大的瓶颈在于远端的存储节点写入速度,因此在部署活存储方案时,提前做好底层的磁盘写入速度测试

2K80

关于 Oracle 存储配置和实战

跨数据中心的,它的设计目的是为一个数据中心内有着共享存储的多个主机实现负载均衡和高可用性。...IO 性能做严格的测试,标准的 Oracle 方案架构如下。...2Oracle 存储安装配置 安装部署存储,需要至少6快盘,详细磁盘规划需求如下: AA 机房 BB 机房 仲裁 ZC 机房 任何机房均可 aaocr 盘 bbocr 盘 zcocr 盘 tmpocr...Oracle 活存储方案和存储厂商的方案(如 EMC 的 Vplex)对比有更大的灵活性,透明性,因为底层的存储磁盘对于 Oracle 来说完全可见,而且通过 Oracle 的 Normal 磁盘组的功能实现...无论是 Oracle 的活存储还是存储厂商的解决方案,均适用于两个存储机房距离小于 50 公里的情况,而且最大的瓶颈在于远端的存储节点写入速度,因此在部署活存储方案时,提前做好底层的磁盘写入速度测试

1.2K20

做容灾,、多、同城、异地、多云,到底应该怎么选?

而且整天见各类技术文章,不是,就是多,不是同城,就是异地,现在又出来个多云,好复杂。 下面我就谈谈我的理解: 首先,这么多名词是什么含义,要搞清楚,然后再看适不适合。...(如果数据层没有这么复杂,只有几个数据库,那是没问题问题的,但是分布式的场景下,上百个,几百个实例切换,这个代价和成本还是很大的。)...准确点,就是物理距离上的时延问题,这个无论是、多,还是同城、异地,都绕不开的痛苦问题。...所以,打算搞,先从这里下手,当然牵出来就要涉及到分布式,还有很多大量细节技术问题。...一个合理的建设节奏应该是,同城—异地—两地三中心(同城+异地多),因为你要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。

2.9K40

做容灾,、多、同城、异地、多云,到底应该怎么选?

而且整天见各类技术文章,不是,就是多,不是同城,就是异地,现在又出来个多云,好复杂。 下面我就谈谈我的理解: 首先,这么多名词是什么含义,要搞清楚,然后再看适不适合。...(如果数据层没有这么复杂,只有几个数据库,那是没问题问题的,但是分布式的场景下,上百个,几百个实例切换,这个代价和成本还是很大的。)...准确点,就是物理距离上的时延问题,这个无论是、多,还是同城、异地,都绕不开的痛苦问题。...所以,打算搞,先从这里下手,当然牵出来就要涉及到分布式,还有很多大量细节技术问题。...一个合理的建设节奏应该是,同城—异地—两地三中心(同城+异地多),因为你要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。

2.9K30

混合云应用容灾最佳实践

应用、中间件云上云下冗余对称部署,同时对外提供服务(应用)。 数据库异地主备,异步复制备份。应用读写同一数据中心的数据库,避免考虑一致性问题。...改造内容 应用上云 选择跟自建 IDC 较近的阿里云地域,云上完全冗余的部署一套应用、中间件和数据库,以便搭建云上云下容灾架构。在这个 Demo 案例中,选择杭州 Region 作为容灾单元。...中间件和数据库: 云上部署 MSE 托管 ZK/Nacos 注册中心、云数据库 Redis 和 RDS,建议使用跨可用区部署高可用版本,具备同城容灾能力。...改造后的应用部署架构 日常场景:IDC+云上同时承担业务流量--应用 访问电商 Demo 首页,查看实际流量调用链:概率性的访问到北京或杭州单元,均读写北京单元内的数据库。...预期 应用连接的数据库切换到杭州后,业务完全恢复,不受北京单元的故障影响。 切流操作 进入 MSHA 控制台,在左侧导航栏选择异地应用>数据层配置。

3K20

MySQL 连接怎么保

解决这个问题的办法比较简单,程序只要定期给 MySQL 发送请求,表示自己还活着,MySQL 就不会触发断开连接的操作了,这就是数据库连接保的应用场景。 今天我们来聊聊数据库连接保的原理和方式。...有一些业务系统,低峰期可能很长时间都不会有读写请求,一旦间隔时间超过 wait_timeout,数据库连接就断开了,连接保自然不可避免。...所以,ping 命令不但可以用于数据库连接探,还可以用于保。...两种保方式对比 既然 ping 和 select 都能实现数据库连接保,那它们之间有什么不一样?...总结 本文写作的初衷就是为了对比 ping 和 select 两种数据库连接保方式的执行效率。

4.8K10

数据中心解决方案剖析

今天来和大家聊聊数据中心解决方案,方案中2个数据中心站点之间均为特性,在数据中心中2个中心同时处于运行状态,同时承担生产业务,可大幅提升整体服务能力和资源利用率。...由于华为公司的产品线相当齐全,华为数据中心方案中可以做到6层端到端从而大大提升了数据中心的业务上线速度。目前在数据中心中有2类形态即AA和AP。...该方案在现网中也有很多应用但是假并非我们部署数据中心的真正目的,笔者也不看好AP形式的数据中心。...华为数据中心解决方案中采用AA以HM特性(存储特性)为基础同时结合其他计算和网络组件,组合起来为用户提供解决方案。...华为数据中心解决方案以以上6层实现端到端,该方案具有故障点少系统可靠性高的特点。

2.8K40
领券