第四章:OceanBase集群技术架构(动态扩容和缩容)

简介: 第四章:OceanBase集群技术架构(动态扩容和缩容)

动态水平扩展的场景

一个三副本的集群,每个Zone都有3000个分区的副本,扩容后,OceanBase自动将1500个分区的副本迁移到新服务器中的资源Unit中。

OceanBase可以很好的帮助业务线性的进行扩容和缩容,低成本的应对大型促销等活动。

动态扩容和缩容技术实现

一个表8个分区,扩容后,在每个Zone内,OceanBase自动将4个分区的副本迁移到新服务器的租户资源单元中,实现Zone内各个OB Server的负载均衡。整个扩容过程是在线动态扩容,对业务无感知,可以降低运维难度。

扩容基本步骤

1. 为每个zone添加新的物理机器

2. 在每台新添加的机器上,以正确的方式启动observer服务

3. 为每个新添加的observer进程执行alter system add server;命令,将observer服务添加到集群中 4. 执行alter resource pool unit_num = ;命令,扩充资源池中的unit 个数

5. OceanBase自动启动“rebalance”过程,将部分数据从旧的unit在线复制到新的unit上。此过程可能会 花费数十分钟,具体时间取决于数据量

6. 每个分区的数据复制完成后,OceanBase自动将服务切换到新的unit上,并删除旧unit中分区上的数据

数据复制的过程是否已经完成?查看__all_virtual_sys_task_status表,是否有comment like '%partition migration%'的任务


集群扩容

mysql>select pool,tenant_id,tenant.tenant_name,name as pool_name,unit_count,unit_config_id,pool.zone_list,__all_tenant tenant on pool.tenant_id=tenant_id inner join __all_unit unit on pool.unit_config_id=unit.ant_name,zone_list;

租户扩容——通过扩大资源池规格实现纵向扩展

扩容前集群及租户资源情况:

3-3-3-3集群,共5个Zone

租户资源池使用Zone1、Zone2、Zone3

规格为1C2G

资源单元数量为1(Unit Num=1)

扩容后集群及租户资源情况:

将租户资源池规格由1C2G扩容为2C8G

租户扩容——通过增大资源池Unit Num实现横向扩展

扩容前集群及租户资源情况:

3-3-3-3-3集群,共5个Zone

租户资源池使用Zone1、Zone2、Zone3

规格1C2G

资源单元数量为1

扩容后集群及租户资源情况:

将租户资源池的Unit Num由1扩容成3

负载均衡

基于负载均衡原则,会自动迁移部分数据到新Unit中(Zone内迁移)

数据追平后,新Unit中将选举出主副本,从而分流业务流量

租户扩容——增加系统可用性三副本扩容至五副本

扩容前集群及租户资源情况:

3-3-3-3-3集群,共5个Zone

租户资源池使用Zone1、Zone2、Zone3

规格1C2G

资源单元数量为1

扩容后集群及租户资源情况:

将租户资源池的由3个Zone扩容成5个Zone

负载均衡

从原来的3个Zone内的主副本那里复制数据(Paxos组成员有3个增加到5个)

数据追平后,新Unit中将选举出主副本,从而分流业务流量(根据Primary Zone的配置等情况)

缩容基本步骤

执行alter resource pool<pool name>unit_num=<smaller number>;命令,缩减资源池中的unit个数

OceanBase自动启动“rebalance”过程,将一部分数据复制到同zone内其他机器的unit上

每个分区数据复制完成后,OceanBase自动将服务切换到新的unit,之后删除下线机器的unit中分区上的数据

为每台要下线的机器执行alter system delete server;命令,完成机器下线的操作

手工终止已下线机器上的observer进程,并执行关机等操作


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
5月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
603 0
|
7月前
|
存储 SQL 数据库
【赵渝强老师】OceanBase的部署架构
OceanBase数据库支持两种部署架构:无共享(Shared-Nothing,SN)模式和共享存储(Shared-Storage,SS)模式。SN模式下,各节点对等,具备高扩展性、可用性和性能,运行于普通PC服务器集群;SS模式采用存算分离架构,租户数据存储在共享对象存储上,本地缓存热点数据。两种模式均支持高可用与多副本一致性,适用于不同业务场景。
459 1
|
3月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
9月前
|
监控 Java Nacos
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
|
8月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
8月前
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
|
9月前
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
805 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
9月前
|
存储 SQL 并行计算
【赵渝强老师】达梦数据库MPP集群的架构
达梦数据库提供大规模并行处理(MPP)架构,以低成本实现高性能并行计算,满足海量数据存储和复杂查询需求。DM MPP采用完全对等无共享体系,消除主节点瓶颈,通过多节点并行执行提升性能。其执行流程包括主EP生成计划、分发任务、各EP并行处理及结果汇总返回。为确保高可用性,建议结合数据守护部署。
316 0
|
12月前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
531 0

推荐镜像

更多