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

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

高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过F5或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。...高可用的一些解决方案 高可用,从发展来看,大致经过了这几个过程: 冷备 双机热备 同城双活 异地双活 异地多活 在聊异地多活的时候,还是先看一些其他的方案,这有利于我们理解很多设计的缘由。...其他的高可用方案还可以参考各类数据库的多种部署模式,比如mysql的主从、双主多从、MHA;redis的主从,哨兵,cluster等等。 同城双活 前面讲到的几种方案,基本都是在一个局域网内进行的。...所以大多数的互联网公司采用了异地双活的方案。 上图是一个简单的异地双活的示意图。...流量经过LB后分发到两个城市的服务器集群中,服务器集群只连接本地的数据库集群,只有当本地的所有数据库集群均不能访问,才failover到异地的数据库集群中。

3.5K22

高可用架构之异地多活

当谈到架构的高可用时,无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。...而对数据一致性要求不那么高,或者数据不怎么改变,或者即使数据丢失影响也不大的业务,跨城异地多活就能够派上用场了。...、 接下来我将介绍跨城异地多活架构设计的一些技巧和步骤 技巧1:保证核心业务的异地多活 “异地多活”是为了保证业务的高可用,但很多架构师在考虑这个“业务”时,会不自觉地陷入一个思维误区:我要保证所有业务都能...由于有同步通道,优先读取本地数据,本地数据无法读取到再通过接口去访问,这样可以大大降低跨机房的异地接口访问数量,适合于实时性要求非常高的数据。...本地独立系统保存日志,这种方式可以应对某业务服务器和数据库同时宕机的情况。例如,服务器和数据库部署在同一个机架,或者同一个电源线路上,就会出现服务器和数据库同时宕机的情况。

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

    干货 | 携程呼叫中心异地双活——座席服务的高可用

    颜值高的,点上面! 随着业务量的不断上升,呼叫中心已经从单纯的大容量单中心逐渐向多地多中心演化,在这种架构下,多地呼叫中心的统一协作成为整合资源、提升可用性、提高效率的重要手段。...在此基础之上,通过系统级的异地双活,可以更好地保障业务服务连续性,保证系统在灾难场景下的可用性,实现跨地域的容灾能力,减少单地域灾难带来的影响。 ?...座席登录逻辑如下: 座席客户端发起登录请求; 判断本地统一登录是否可用,如判断异常,则直接向异地统一登录发起登录请求; 如判断正常,向本地统一登录发起登录请求; 统一登录收到请求之后判断本中心是否开启计划内切换...3 技术特点 支持故障情况下在线座席的自动双活切换、计划内维护的手工切换; 支持按系统、按地域、按座席技能组等不同维度进行计划内的手工切换; 支持1000+在线座席异地双活自动切换; ?...4 拓展 结合携程呼叫中心CTI平台网呼功能上线和统一登录平台整合,异地双活功能可以实现PBX、CTI、统一登录的云端管理,真正实现四海一家,使座席不再按地域划分,一点接入,服务全球。

    2.5K90

    详解:淘宝高可用异地多活架构

    p=299 导读:异地多活,作为一种高可用部署架构,成为大中型互联网公司的选择。像大家熟知的大型互联网公司,如阿里、腾讯、百度、网易、新浪等等都已经完成了异地多活的技术重构。...可以说,异地多活是互联网公司业务规模扩大后所必然要经历的阶段。那么如何解决高可用异地多活呢? 有状态服务 后台服务可以划分为两类,有状态和无状态。...高可用的一些解决方案 高可用,从发展来看,大致经过了这几个过程: 冷备 双机热备 同城双活 异地双活 异地多活 在聊异地多活的时候,还是先看一些其他的方案,这有利于我们理解很多设计的缘由。...其他的高可用方案还可以参考各类数据库的多种部署模式,比如 MySQL 的主从、双主多从、MHA;Redis 的主从,哨兵,Cluster 等等。...流量经过 LB 后分发到两个城市的服务器集群中,服务器集群只连接本地的数据库集群,只有当本地的所有数据库集群均不能访问,才 failover 到异地的数据库集群中。

    2.6K12

    高可用的巅峰技术:跨机房部署、同城双活、异地多活究竟怎么玩儿?

    一、容灾介绍 同城双活和异地多活都是典型的系统容灾部署方案,对于企业来说,尤其是大型互联网公司,比较重要的系统一般都会做容灾,采用同城双活,甚至异地多活的架构方案进行部署。...多多少少都会增加部署的复杂度和部署成本,但是,容灾在某套系统出现故障时,能够迅速切换到另一套系统,保证系统的高可用。...(3)国际异地双机房专线延迟 一般情况下,国际异地双机房专线的网络延迟会比国内异地双机房专线延迟高,一般会在100ms~200ms。...五、异地多活 一般情况下,系统做同城双活容灾方案就够了,如果系统的业务发展到了淘宝级别,就需要考虑异地多活了。...还有一点需要说明的是:如果同城双活架构方案能够满足需求,就不要轻易尝试异地多活架构,实际上,异地多活架构过于复杂,很少有公司能够搭建出真正的异地多活架构。

    1.3K11

    ES异地双活方案

    2、如果3个机房分属异地,比如:上海、广州、北京,三个城市间数据传输必然增加延时,要降低延时一般是拉专线,这样一方面成本还会继续增加,而且这么长距离传输,网络抖动是难免的,抖动期间,会增加选举"误切换"...这其实也是把一个集群的节点分散部署在2个idc机房,另外,该方案并非免费午餐,官方的描述中,这是企业级的商业收费服务: image.png 那么,普通屌丝公司有没有经济点的做法,即相对省钱,又能达到高可用呢...我们把这个问题分解一下,无非就是“读”高可用,以及“写”高可用,先来看“读”: image.png 假设有2个机房A、B,每个机房各部署1个ES集群,然后有一个java服务,按现在流行的做法,不管是...听想来貌似可行,但是有一些细节问题 : 1、双写并非原子操作,如果A机房的ES集群写成功了,B机房的ES集群没写成功,该怎么办?...当然,这个方案的提前是MQ本身是高可用的,不过这个不难做到,已经有一些rocket mq双机房多活的案例,不在本文讨论范围,大家可以自行搜索。

    4.5K30

    异地双活实践笔记

    业务以及基础组件异地双活方案 业务实例异地双活 业务实例的异地双活。这个相对来说要简单一些,只要做到无状态,再如果通过docker这些容器结束,基本上是相对来说容易一些。...同步可以通过客户端双写,或者服务端复制。双写更加容易。 Redis的异地双活 Redis 的异地双活。就是分别在每个机房搭建一套Redis集群。...4、我要保证业务100%可用! 5、所有用户异地多活 一句话谈“异地多活” 综合前面的分析,异地多活设计的理念可以总结为一句话:采用多种手段,保证绝大部分用户的核心业务异地多活!...人们的总结以及经验 1 、如果业务量不大,没必要做异地多活,因为异地多活需要的运维资源成本、开发成本都非常高; 2 、注意机房间的延时问题,延时大的可能达到100ms以上,如果业务需要多次跨机房请求应用的话...整个切换过程中,没有一条客户数据丢失,也体现了金融级的数据高可用要求,虽然切换的时间对用户来说长了点,但“就像是一次跳水,整体完成的质量很高,只是落水时水花没有压好,水花稍微大了点。”

    12.2K111

    聊聊高可用的“异地多活”架构设计

    高可用 1、高可用的一些解决方案 高可用,从发展来看,大致经过了这几个过程: 冷备 双机热备 同城双活 异地双活 异地多活 在聊异地多活的时候,还是先看一些其他的方案,这有利于我们理解很多设计的缘由。...其他的高可用方案还可以参考各类数据库的多种部署模式,比如mysql的主从、双主多从、MHA;redis 的主从,哨兵,cluster 等等。...所以大多数的互联网公司采用了异地双活的方案。 图3 简单的异地双活示意图 上图是一个简单的异地双活的示意图。...流量经过LB后分发到两个城市的服务器集群中,服务器集群只连接本地的数据库集群,只有当本地的所有数据库集群均不能访问,才failover到异地的数据库集群中。...因为双活除了有数据冲突上的问题意外,还无法进行横向扩展。 异地多活 图4 异地多活的示意图 根据异地双活的思路,我们可以画出异地多活的一种示意图。

    1.7K21

    B 站崩了,总结下「高可用」和「异地多活」

    比如 SQL Server 的主从架构,Redis 的主从架构,它们都是为了达到高可用性,即使某台服务器宕机了,也能继续提供服务。 刚刚提到了快速,这是一个定性词语,那定量的高可用是怎么样的?...四、如何做到高可用 高可用的方案也是很常见,故障转移、超时控制、限流、隔离、熔断、降级,这里也做个总结。 也可以看这篇:双 11 的狂欢,干了这碗「流量防控」汤 4.1 限流 ?...5.3 异地多活 同城双活无法做到城市级别的容灾。所以需要考虑异地多活。 比如上海的服务器宕机了,还有重庆的服务器可以顶上来。但两地距离不要太近,因为发生自燃灾害时有可能会被另外一地波及到。...和同城双活的核心思想一样,避免跨机房调用。但是因为异地方案中的调用延迟远大于同机房的方案,所以数据同步是一个非常值得探讨的点。...两地:本地和异地。 三中心:本地数据中心、同城数据中心、异地数据中心。 这两个概念也就是我上面说的同城双活和异地多活的方式,只是针对的是数据中心。原理如下图所示: ?

    81840

    B 站崩了,总结下「高可用」和「异地多活」

    比如 SQL Server 的主从架构,Redis 的主从架构,它们都是为了达到高可用性,即使某台服务器宕机了,也能继续提供服务。 刚刚提到了快速,这是一个定性词语,那定量的高可用是怎么样的?...5.2 同城双活 高性能的同城双活,核心思想就是避免跨机房调用: 保证同机房服务调用:不同的 PRC(远程调用) 服务,向注册中心注册不同的服务组,而 RPC 服务只订阅同机房的 RPC 服务组,RPC...5.3 异地多活 同城双活无法做到城市级别的容灾。所以需要考虑异地多活。 比如上海的服务器宕机了,还有重庆的服务器可以顶上来。但两地距离不要太近,因为发生自然灾害时有可能会被另外一地波及到。...和同城双活的核心思想一样,避免跨机房调用。但是因为异地方案中的调用延迟远大于同机房的方案,所以数据同步是一个非常值得探讨的点。...两地:本地和异地。 三中心:本地数据中心、同城数据中心、异地数据中心。 这两个概念也就是我上面说的同城双活和异地多活的方式,只是针对的是数据中心。

    32910

    同城双活与异地多活架构分析

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/OjfFcjnGWV5kutxXndtpMg 作者:vivo官网商城开发团队 采用高可用系统架构支持重要系统...服务多活是高可用架构重要实施手段,本文介绍了一些业界常用的多活手段例如同城双活、两地三中心、异地多活架构设计方案并详述了各种方案的优缺点。...为了满足中心业务连续性,增强抗风险能力,多活作为一种可靠的高可用部署架构,成为各大互联网公司的首要选择。...四、异地多活 异地多活指分布在异地的多个站点同时对外提供服务的业务场景。异地多活是高可用架构设计的一种,与传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。...由于篇幅限制本文并未详细介绍各种储存(例如Redis、MySQL)在多活下数据同步复制以及高可用方案,有兴趣的同学可以去深入了解这方面知识。

    12.1K63

    架构设计 7-高可用架构设计之异地多活

    本文为第七部分,主要介绍异地多活,异地多活缩短了时延,提高可用性,但是带来复杂度和成本无疑是巨大的,不是一般公司可以承受的,只有在对可用性要求特别高的业务场景才建议使用。...由于有同步通道,优先读取本地数据,本地数据无法读取到再通过接口去访问,这样可以大大降低跨机房的异地接口访问数量,适合于实时性要求非常高的数据。...常见日志保存方式: 服务器上保存日志,数据库中保存数据,这种方式可以应对单台数据库服务器故障或者宕机的情况。 本地独立系统保存日志,这种方式可以应对某业务服务器和数据库同时宕机的情况。...这样做的好处就是: 用户都是就近访问的,速度快 可用性高,一个机房挂,直接自动切机房了,光缆挖断了、机房断电了也分分钟止损。 缺点就是:太浪费了,也比较复杂。...简单的说,异地多活,是富家子的操作,追求最后的 0.00001 的收益。大厂可以搞搞,小厂如果不是对可用性有特别特别高的需求还是算了吧。 reference 从 0 开始学架构

    69820

    什么是异地双活及应用场景

    本文介绍异地双活的概念、应用场景、功能优势、使用限制和计费说明。 什么是异地双活 多活容灾MSHA是在阿⾥巴巴电商业务环境演进出来的多活容灾架构解决⽅案,可以将业务恢复和故障恢复解耦。...异地双活功能不仅解决了容灾本身问题,还提升了业务连续性,并且实现了资源的异地扩展。 消息队列RocketMQ版的异地双活具体实现如下: 杭州单元和上海单元分别部署了一套完整的业务系统。...使用限制 实例类型限制:异地双活功能仅企业铂金版实例支持,标准版实例不支持。...计费说明 异地双活为消息队列RocketMQ版的高级功能。若您开通了异地双活功能,消息队列RocketMQ版会按照包年包月方式进行收费;未开通则不收取异地双活功能费用。...功能优势 可用性 和传统容灾方案相比,异地双活方案中所有生产中心数据实现双向同步,并且均可对外提供服务,各中心分担业务流量,提高了资源使用率。 故障快速恢复 异地双活功能够有效保障业务连续性。

    1.8K30

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

    而且整天见各类技术文章,不是双活,就是多活,不是同城,就是异地,现在又出来个多云,好复杂。 下面我就谈谈我的理解: 首先,这么多名词是什么含义,要搞清楚,然后再看适不适合。...只有做到这个程度,当一个站点发生故障不可用时,就可以从接入层把故障站点的流量切换到另一个站点,双活的效果也就有了。...准确点,就是物理距离上的时延问题,这个无论是双活、多活,还是同城、异地,都绕不开的痛苦问题。...一个合理的建设节奏应该是,同城双活—异地双活—两地三中心(同城双活+异地多活),因为你要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。...一切都是ROI,为了保证高可用,就一定会有成本,高可用程度越高,成本就一定越高,所以成本投入得到的收益到底划不划算,这个只能自家公司自家评判。

    3K31

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

    而且整天见各类技术文章,不是双活,就是多活,不是同城,就是异地,现在又出来个多云,好复杂。 下面我就谈谈我的理解: 首先,这么多名词是什么含义,要搞清楚,然后再看适不适合。...只有做到这个程度,当一个站点发生故障不可用时,就可以从接入层把故障站点的流量切换到另一个站点,双活的效果也就有了。...准确点,就是物理距离上的时延问题,这个无论是双活、多活,还是同城、异地,都绕不开的痛苦问题。...一个合理的建设节奏应该是,同城双活—异地双活—两地三中心(同城双活+异地多活),因为你要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。...一切都是ROI,为了保证高可用,就一定会有成本,高可用程度越高,成本就一定越高,所以成本投入得到的收益到底划不划算,这个只能自家公司自家评判。

    3K41

    Elastic Job 从单点到高可用、同城主备、同城双活

    - 双机房高可用 - 随着互联网业务的发展,慢慢地,对架构的高可用会有更高的要求。...- 同城双活模式 - 以上这样改造后,针对定时任务就已经解决了两个问题: 1、定时任务能实现在两个机房下的高可用; 2、任务能优先调度到指定机房。...我们能否再进一步做到同城双活呢?也就是,B机房也会承担一部分的流量?例如10%?...以上两种方案都能实现让A、B两个机房都有流量(有任务在被调度),从而实现所谓的双活。 以下针对上面抛出来的方案一,给出一个双活的示意代码和架构。...注:这里任意一个机房不可用了,任务均能在另外一个机房调度,这里增强的只是对于不同任务做针对性的优先调度实现双活: public class ActiveStandbyESJobStrategy extends

    74720

    Keepalived高可用集群(双主)

    ,如只需使用高可用功能下边配置可删除 #以下为虚拟服务器定义部分 virtual_server 192.168.50.16 80 { #设置虚拟服务器,指定虚拟IP和端口 delay_loop...解决高可用服务只针对物理服务器的问题 Keepalived软件仅仅在对方机器宕机或Keepalived停掉的时候才会接管业务。...当服务有问题时,就停掉本地的Keepalived服务,实现IP漂移到对端继续提供服务。 例 nginx高可用 #!...当在同一个局域网内部署了多组Keepalived服务器对,而又未使用专门的心跳线通信时,可能会发生高可用接管的严重故障问题。...之前已经讲解过Keepalived高可用功能是通过VRRP协议实现的,VRRP协议默认通过IP多播的形式实现高可用对之间的通信,如果同一个局域网内存在多组Keepalived服务器对,就会造成IP多播地址冲突问题

    90910

    KeepAlived双主模式高可用集群

    一、keepalived简介 keepalived是vrrp协议的实现,原生设计目的是为了高可用ipvs服务,keepalived能够配置文件中的定义生成ipvs规则,并能够对各RS的健康状态进行检测;...通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主服务器提供服务,其他服务器处于冗余状态,若当前在线的服务器宕机,其虚拟IP地址将会被其他服务器接替(优先级决定接替顺序),实现高可用为后端主机提供服务...vrrp stack:keepalived是基于vrrp协议实现高可用vps服务,vrrp则为相关子进程为其提供服务 check:检测keepalived的健康状态相关进程 system call:系统调用...watch dog:监控check和vrrp进程的看管者,check负责检测器子进程的健康状态,当其检测到master上的服务不可用时则通告vrrp将其转移至backup服务器上。...出现上诉的结果说明你配置的keepalived高可用集群已经实现高可用,可换为浏览器进行测试,或将后端主机搭建相应的服务进行测试查看其是否按照你定义的调度算法进行轮询。

    1.7K90
    领券