OB 的高可用、多副本到底有什么用,平时练习能感受到差异吗?

【 使用环境 】 测试环境
【 OB 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

6 个赞

OceanBase的‌高可用和‌多副本主要功能是避免单点故障、 自动故障切换、 零数据丢失、 支持多级容灾等。

2 个赞

能吧

2 个赞

问这个问题,说明你对高可用、分布式等概念还不太清楚

1 个赞

看我想怎么用了

学习!!

点赞

支持支持

加油

1 个赞

平常练习顶多是单机模拟多个虚拟机,咋能感受多副本、高可用。 顶多感受感受压缩比。

这个问题涉及到OB和回复的平衡,根据我的经验,适当调整的高可用会有帮助。

多副本 =保命不丢数据,高可用 =坏机器不停业务;平时正常用没感觉,只有节点故障时才能看出优势

@论坛小助手

OceanBase 的高可用和多副本特性主要是为了保证系统的可靠性、数据的安全性和服务的连续性。具体来说,高可用指的是在发生故障时,系统能够自动切换到备用节点,从而减少或避免服务中断。多副本则是指在多个不同的物理位置上保存相同的数据副本,这样即使某个节点或区域发生故障,其他副本仍然可以提供服务,确保数据不丢失和服务可用。

在测试环境中,这些特性的效果可能不如在生产环境中明显,因为测试环境中的负载通常较小,且不太可能出现大规模的硬件故障。然而,通过模拟故障场景,例如人为关闭某个 Observer 实例,可以观察到 OceanBase 的多副本机制如何自动切换到其他健康副本,继续提供服务,而不会导致整个集群的服务中断。

此外,通过使用 Sysbench 等工具进行持续压测,当某个 Observer 被手动杀死时,如果配置正确,Sysbench 不应该立即报错并停止运行,而是会自动重连到其他健康副本,继续执行测试。这可以验证 OceanBase 的高可用特性。

更多信息请查看:

  1. 进行 TPC-C 测试
  2. 进行 TPC-H 测试
  3. 进行 Sysbench 测试
  4. sysbench连接ODP进行故障切换时断连
  5. 如何路由到只读型副本查询数据