详解网商银行“三地五中心”数据部署架构(3)

简介: 详解网商银行“三地五中心”数据部署架构(3)

从“两地三中心”到“三地五中心”的升级


从“两地三中心”升级到“三地五中心”,是基础设施的重大升级,不只是简单的数据副本的增加。其带来的架构改善有以下几点。


(1)数据库具备了城市级容灾能力。


(2)应用具备了城市级容灾能力,应用的部署可以实现城市1与城市2双中心的模式,应用的容灾能力增强。


(3)数据库的容量提升,只读副本数量增加,服务能力增强。这种升级同时也对原数据中心架构引入了新的挑战。


(1)跨城带来的耗时增加,对业务的批处理、链路整体耗时、热点行等产生影响。


(2)数据同步副本数增加,原有机房间的网络需扩容。


(3)数据同步副本数增加,原有租户的硬件资源扩容。在架构升级的过程中,需始终保持容灾能力不降低:任何单个机房出现故障后,集群依然可用,且除了主库所在城市1之外的其他城市机房出现故障,集群依然可用,依然能够提供服务。其过程如下。


(1)初始状态,如图3-1-7所示。


image.png


(2)城市2新增一个副本,该副本用于数据异步式同步,不参与一致性投票,该副本对原集群结构稳定性无影响。参与投票的依然是机房1、机房2、机房3,容灾策略与“两地三中心”一致,数据同步耗时无增加。“两地四副本”模式如图3-1-8所示。


image.png


(3)城市3新增一个副本,该副本数据实时同步,参与一致性投票,但需限定在选主时不能作为主库,以避免耗时的增加,因应用部署还在城市1。在这种模式下,城市2、城市3的单个城市故障不影响集群的稳定性。“三地五中心”模式如前面的图3-1-1所示。


(4)城市2的不参与投票副本切换为实时同步,并开始参与投票,完成“三地五中心”的部署。在任意一个城市的机房出现故障时,都能够实现容灾切换。以上过程中,如果机房5不选择部署全量副本,只是参与投票的日志副本,那么建设周期会较短,可以直接在城市2建设全量副本,完成后立即进行机房5的配置。



应用耗时分析与优化


“三地五中心”带来的事务耗时增加了跨城耗时部分,会对业务全链路耗时、热点行、批处理产生影响,需要在架构升级前进行耗时分析,在升级后进行耗时的监控与验证。


基于分布式的trace中间件,使用实时计算对链路上的应用日志、数据库日志进行解析,分析出业务链路的不同场景中的库依赖、SQL模板、SQL执行顺序与次数。然后按照“三地五中心”建设的库关联、应用部署城市,分析会增加耗时的SQL,从而计算出整体链路的耗时增加。根据评估结果进行耗时的优化,可考虑的方向有:缓存、应用部署、SQL的优化,以及异步化改造等。


热点行也会因为单次事务的耗时增加导致锁冲突加剧,热点行问题更加明显。可以在建设完成后进行压测,识别热点行,并有针对性地解决热点问题。


单次耗时的增加,也会导致批处理整体完成的时间延长,需要评估是否会超出业务可接受的完成时间。可考虑的优化方案有调整批处理分组数、调整锁粒度等。

相关文章
|
6天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
51 7
|
6天前
|
数据采集 搜索推荐 数据管理
数据架构 CDP 是什么?
数据架构 CDP 是什么?
21 2
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
3月前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
114 0
|
10天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
21 1
|
1月前
|
存储 大数据 数据处理
洞察未来:数据治理中的数据架构新思维
数据治理中的数据架构新思维对于应对未来挑战、提高数据处理效率、加强数据安全与隐私保护以及促进数据驱动的业务创新具有重要意义。企业需要紧跟时代步伐,不断探索和实践新型数据架构,以洞察未来发展趋势,为企业的长远发展奠定坚实基础。
|
2月前
|
存储 搜索推荐 数据库
MarkLogic在微服务架构中的应用:提供服务间通信和数据共享的机制
随着微服务架构的发展,服务间通信和数据共享成为关键挑战。本文介绍MarkLogic数据库在微服务架构中的应用,阐述其多模型支持、索引搜索、事务处理及高可用性等优势,以及如何利用MarkLogic实现数据共享、服务间通信、事件驱动架构和数据分析,提升系统的可伸缩性和可靠性。
43 5
|
2月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
204 3
|
2月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
74 2
|
3月前
|
Java 数据库连接 微服务
揭秘微服务架构下的数据魔方:Hibernate如何玩转分布式持久化,实现秒级响应的秘密武器?
【8月更文挑战第31天】微服务架构通过将系统拆分成独立服务,提升了可维护性和扩展性,但也带来了数据一致性和事务管理等挑战。Hibernate 作为强大的 ORM 工具,在微服务中发挥关键作用,通过二级缓存和分布式事务支持,简化了对象关系映射,并提供了有效的持久化策略。其二级缓存机制减少数据库访问,提升性能;支持 JTA 保证跨服务事务一致性;乐观锁机制解决并发数据冲突。合理配置 Hibernate 可助力构建高效稳定的分布式系统。
66 0

热门文章

最新文章