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

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

业务流量的流向是渠道层→业务产品层→核心层→基础服务层,其中业务产品层各产品之间的业务隔离,数据也隔离,业务产品层和核心层可以按照用户信息进行分库分表,如图3-1-13所示。


数据库集群要结合应用架构、相关应用对业务的影响、分库分表的维度进行设计,减轻集群故障的影响。基础服务层中PaaS、分布式消息等进行独立集群部署;用户、产品进行独立集群部署并进行主备多集群保障;账务、交换等公共服务库独立部署;对存款、信贷、理财、支付结算等业务分别部署10套集群,分库均分到集群中,单集群故障影响面降低到10%。在业务集群分拆过程中,需各业务库统一分库维度,避免因分库维度不同导致的故障影响放大,例如:单集群中两个业务库维度不同,则该集群发生故障时业务的影响由10%增加到19%(即1-0.9×0.9)。


image.png


容器化部署


为什么要进行容器化部署


架构设计上为避免集群的单点,而将业务分摊到更多集群上。分布式数据库集群是由多台物理机构成的,在高可用方面集群存在多种单点,一方面集群强依赖“心跳”、系统租户等单点,另一方面,具备自动选主能力的分布式集群,遇到SQL导致进程中断或崩溃的情况。有限数量的物理机无法创建更多集群,而容器化技术可以在一定数量的物理机中创建出更多的数据库集群,待后面机器数量增加后,这些集群可以迁移到不同的物理硬件上,从而实现集群数量、容灾能力的提升。


如何进行容器化部署


如图3-1-14所示,容器化部署在物理机中按一定规格虚拟出容器,在容器中部署分布式数据库以增加集群数量。从ECS部署切换到ECS+容器化部署可按如下步骤实现灰度化。(1)在集群中增加容器化节点,并将库的一个备节点切至容器化节点,如图3-1-15所示。


image.png


(2)依次替换两个容器化节点,并将主节点切至容器节点。设置选主优先级,若ECS5崩溃,则数据库将ECS1的备节点选为主节点,如图3-1-16所示。


image.png


(3)此时,若出现单容器故障,仍可回滚到ECS上,运行一段时间检查无误后,将ECS1节点替换为容器化节点,如图3-1-17所示。


image.png


分区与容器化


分区与容器化既有联系又有区别,它们都为数据库的应用提供了扩展性。业务规模较小时,容器化可以创建多套集群,满足架构设计上对多集群的需求,此时表分区通常用不到。业务规模较大时,分区在集群数量不变的情况下提供容量的扩展性,容器化提供了更细粒度的管理能力。例如,可以将同一个业务链路的上下游的相同用户的分区放到同一台或者同一组物理机上,减小单台物理机上业务链路用户范围。分区是分布式数据库提供的能力,而容器化不属于数据库本身。

相关文章
|
29天前
|
存储 SQL 关系型数据库
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
ClickHouse的核心架构包括执行过程和数据存储两部分。执行过程涉及Parser与Interpreter解析SQL,通过Column、DataType、Block、Functions和Storage模块处理数据。Column是内存中列的表示,Field处理单个值,DataType负责序列化和反序列化,Block是内存中表的子集,Block Streams处理数据流。Storage代表表,使用不同的引擎如StorageMergeTree。数据存储基于分片和副本,1个分片由多个副本组成,每个节点只能拥有1个分片。
70 0
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
|
2月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
55 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
1月前
|
Kubernetes 测试技术 持续交付
探索微服务架构下的持续集成与部署最佳实践
本文将深入探讨在微服务架构下实施持续集成与部署的最佳实践,介绍如何利用现代化工具和流程来实现自动化测试、持续集成、灰度发布等关键环节,帮助开发团队提升交付效率和质量。
|
1月前
|
SQL 缓存 分布式计算
日增数据超10PB!揭秘沃尔玛Lakehouse架构选型之路
日增数据超10PB!揭秘沃尔玛Lakehouse架构选型之路
44 2
|
1月前
|
存储 SQL 机器学习/深度学习
通用数据湖仓一体架构正当时
通用数据湖仓一体架构正当时
59 2
|
2月前
|
KVM 虚拟化 Android开发
DP读书:鲲鹏处理器 架构与编程(十二)鲲鹏软件实战案例Docker+KVM的部署
DP读书:鲲鹏处理器 架构与编程(十二)鲲鹏软件实战案例Docker+KVM的部署
52 1
|
2月前
|
云计算 开发者 Docker
深入浅出:使用Docker部署微服务架构
在当今快速迭代的软件开发环境中,微服务架构凭借其灵活性和可扩展性成为了热门趋势。本文将探讨如何利用Docker这一强大的容器化技术,简化和加速微服务应用的部署与管理过程。我们将从微服务的基本概念出发,逐步深入到Docker的核心功能,最后通过一个实际案例演示整个部署流程。文章旨在为开发者提供一个清晰、实用的指南,帮助他们有效地利用Docker在微服务架构下的应用部署。
26 0
|
2月前
|
存储 消息中间件 Java
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的高可靠消息服务设计实现
在深入研究了 **“【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现”** 设计实现后,我们意识到,尽管API网关为服务商提供了高效的数据获取手段,但实时数据的获取仍然是一个亟待解决的问题。
31 1
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的高可靠消息服务设计实现
|
2月前
|
前端开发 JavaScript API
|
4月前
|
消息中间件 持续交付 Docker
Docker与微服务:构建和部署微服务架构的完整指南
微服务架构已经成为现代应用开发的主要范式之一,而Docker容器技术则为微服务的构建、部署和管理提供了理想的解决方案。本文将深入探讨如何使用Docker构建和部署微服务架构,提供更多示例代码和细致的指南,以帮助大家更全面地理解和运用这些关键概念。