扩容和缩容主要分为集群级别和租户级别。
集群的扩缩容
OceanBase 集群的分布式架构可以方便地完成集群的扩容和缩容操作。当集群的容灾需求发生变化时,可通过调整可用区数量,即增加或者减少 Zone 的方式来提高或降低集群的容灾能力。当集群的外部负载发生变化时,可通过调整可用区内物理机的数量,即增加或减少 OBServer 的方式来改变集群的负载能力。
可用区(Zone)的动态调整
OceanBase 集群中的每一份数据都维护了多个副本,一份数据的多个副本通过 Paxos 协议组成一个基本的高可用单元。通常情况下,系统会在每个可用区内部署至多一个数据副本,在少数可用区发生故障时,剩余可用区内的副本仍可以通过 Paxos 协议,在保证数据完整的前提下,继续提供服务。您可以通过增加可用区的数量来增加数据的副本数,进而提高系统可用性。
物理机(OBServer)的扩缩容
当集群中提供的服务能力不能完全满足读写请求时,需要对该 OceanBase 集群扩容以提高集群服务能力。例如,可以为当前集群的每个可用区扩容一台 OBServer,扩容后每个可用区包含 N+1 台 OBServer。通过动态扩容,集群中的 OBServer 数量会相应增加,RootService 会根据内部的负载均衡机制,将集群内原有的数据和负载依次均衡到新扩容的 OBServer 上。相关的负载均衡机制与策略请参见《OceanBase 数据库概览》文档中 资源单元的均衡 和 数据均衡 章节。
相反地,当集群中的 OBServer 的服务能力对当前负载有较多冗余时,可考虑通过缩减 OBServer 来降低集群成本。
租户的扩缩容
租户的扩容和缩容主要通过以下几种方式来实现:
调整租户资源池的
UNIT_NUM数量,增加或减少集群中为该租户提供服务的 OBServer 的数量。具体操作请参见 通过修改 unit_config。
调整租户中每个资源单元的资源配置大小,改变租户在各 OBServer 上的服务能力。
具体操作请参见 通过修改 UNIT_NUM。
调整租户中资源池的
ZONE_LIST,改变租户中资源的分布范围。具体操作请参见 通过修改 ZONE_LIST。




