【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
请教各位部署运维问题,如果四台机器,一台中控,三台ObServer做集群,假设这几台服务器先不管是否在同一个地区,还有没必要再加ObProxy机器做集群?或者这个ObProxy集群是否要放入到这三台ObServer下?binlog集群呢?
1 个赞
论坛小助手
#3
根据文档库中的信息,以下是对您问题的详细解答:
1. 关于 OBProxy 是否需要单独部署
根据文档片段 3 和文档片段 4 的内容:
- 在生产环境中,建议单独部署 OBProxy,以避免 OBProxy 和 OceanBase 数据库之间的资源竞争。
- OBProxy 可以部署在应用服务器上、独立的机器上,或者部署在 OceanBase 数据库机器上。但为了提高性能和稳定性,推荐将 OBProxy 部署在独立的机器上,或者至少与 OceanBase 数据库节点分离。
因此,如果您已经有四台机器(一台中控机 + 三台 OBServer 节点),可以考虑再增加一台机器专门用于部署 OBProxy 集群。如果资源有限,也可以将 OBProxy 部署在这三台 OBServer 节点上,但需要注意资源隔离和性能影响。
2. OBProxy 集群是否要放入这三台 OBServer 下
根据文档片段 3 的内容:
- OBProxy 是单进程软件,作为访问 OceanBase 数据库的反向代理。
- 生产环境中建议至少部署两个 OBProxy 实例,以实现高可用性。
因此,您可以选择以下两种方案之一:
-
将 OBProxy 部署在独立的机器上:这是推荐的最佳实践,能够避免资源竞争。
-
将 OBProxy 部署在现有的三台 OBServer 节点上:如果资源有限,可以将 OBProxy 部署在这三台 OBServer 节点上,但需要确保每台机器有足够的资源来运行 OBProxy,并且配置适当的资源限制(如 CPU 和内存)。
3. 关于 Binlog 集群
根据文档片段 5 的内容:
- OceanBase 数据库通过 RedoLog 实现集群间的异步数据同步,类似于传统数据库的主从复制模式。
- 如果您需要设置 Binlog 集群(例如用于数据迁移或备份),可以通过 OMS(OceanBase Migration Service)来实现。
对于 Binlog 集群的部署:
- 如果您的场景需要 Binlog 功能(如数据订阅或异步复制),可以考虑在现有架构的基础上增加一台机器专门用于部署 Binlog 集群。
- 如果资源有限,也可以将 Binlog 集群与 OBProxy 或其他组件共用机器,但同样需要注意资源隔离和性能影响。
4. 总结建议
基于您的描述(四台机器:一台中控机 + 三台 OBServer 节点),以下是推荐的部署方案:
-
OBProxy 部署:
- 如果资源允许,建议增加一台独立机器用于部署 OBProxy 集群。
- 如果资源有限,可以将 OBProxy 部署在现有的三台 OBServer 节点上,但需要确保资源隔离。
-
Binlog 集群:
- 如果需要 Binlog 功能,建议增加一台独立机器用于部署 Binlog 集群。
- 如果资源有限,可以将 Binlog 集群与 OBProxy 共用机器。
5. 参考文档
-
文档片段 3:标题为“部署生产环境 → 规划 OceanBase 集群部署”。
-
文档片段 4:描述了如何通过 OCP 创建 OBProxy 集群。
-
文档片段 5:介绍了 OceanBase 集群间的数据同步机制。
希望以上信息对您有所帮助!如果还有其他疑问,请随时提问。
详情请参考:
- 进行 Sysbench 测试
- 进行 TPC-C 测试
- 部署生产环境
- 创建 OBProxy 集群
- OceanBase 集群高可用部署方案简介
- 部署 OceanBase 集群
- 进行 TPC-H 测试
- 软硬件要求
- 部署前准备
- 使用命令行部署 OceanBase 数据库生产环境
咖啡哥
#4
OBProxy可以跟OBServer共用。这个要不了多少资源,默认好像就一个2G的java进程
我一般都是这样部署。
2 个赞
如果不追求绝对的高可用,可以
1台:中控OCP+OBproxy
3台:OBServer 3个zone 1-1-1 模式