[TcaplusDB知识库]TcaplusDB高可用部署

由于存在机器故障等意外事故的可能性,数据库的高可用一直以来都备受关注。作为 NOSQL 数据库,TcaplusDB提供可扩展性以及跨数据中心场景下的高可用。本文档旨在介绍同城双数据中心部署 TcaplusDB 方案。

TcaplusDB的高可用技术原理

Tcaplus各个服务模块均已支持高可用部署

以下逐一介绍:

  1. MySQL: 使用原生MySQL Cluster集群或云供应商的MySQLdb, 建议配置域名接入,背后多个RS的模式

    1. (部署方式:部署方式从网上参考)
  2. OMS:支持搭建多个OMS管理端,相互之间平等互不影响

    1. (部署方式:为新机器添加Mysql权限后, 安装xampp,解开OMS包,执行./install_web.sh 传入mysql连接信息作为参数,安装完毕后删掉/data/tcaplus/tcapoms/www/app/install.php初始页面,即可正常使用)
  3. Tcapcenter:每个集群(set)有一个ServingCenter,支持部署StandbyCenter,以一对多的方式监视多个ServingCenter的状态,一旦确认ServingCenter发生故障不可服务,数分钟内可完成角色切换,接管原ServingCenter的下属进程

    1. (部署方式: 为新机器添加Mysql权限后,先从“集群维护”中注册新集群,再使用单据“安装StanbyCenter”)
    2. [TcaplusDB知识库]TcaplusDB高可用部署_第1张图片
    3. [TcaplusDB知识库]TcaplusDB高可用部署_第2张图片
  4. Tcapdir:每个集群(set)至少部署2个Tcapdir,每个Tcapdir知悉完整的目录服务器列表,当正在连的Tcapdir发生故障,客户端将自动从列表中选择其他存活Tcapdir进行连接, 方便日常进程扩缩容

    1. (部署方式:先为Tcapdir赋予Mysql权限,再将tcapdir初始化入池)
    2. [TcaplusDB知识库]TcaplusDB高可用部署_第3张图片, 填写登录信息,将机器入池,详细参考机器上架一章
    3. 点击目录服务[TcaplusDB知识库]TcaplusDB高可用部署_第4张图片
    4. img
    5. 点击“新增目录服务”
    6. [TcaplusDB知识库]TcaplusDB高可用部署_第5张图片
    7. 点击提交,安装完成后, tcapdir完成了扩容
  5. Tcapsvr:存储层以一主一从(后文称: Master-Slave)的双节点部署方式, 一般情况下都由Master承担DB读写请求, 当Master故障异常,Proxy将很快知悉问题(内部统计, 一定时间内,请求经Proxy发给Master后没收到响应), 遂通知Center做统一决策,满足切换条件时会通知Slave将自己角色切换为Master,并调整路由表,切换完成后通知Tcaproxy更新Master信息

    1. (部署方式:参考存储层扩缩容)
  6. Tcaproxy:每个游戏区(zone)至少部署2个Tcaproxy,在客户端处实现请求均衡,扩容Tcaproxy可加强吞吐能力, 当Tcaproxy进程故障异常,Center感知到心跳中断,将通过Tcapdir通知客户端更新Proxy列表(剔除异常进程)

    1. (部署方式:参考接入层扩缩容)
  7. Tcapdb:每个业务(App)至少部署2个Tcapdb,Tcapsvr在转发缓写数据时将从多个Tcapdb中实现请求均衡,扩容Tcapdb可加强吞吐能力

    1. (部署方式:参考缓写层扩缩容)
  8. 冷备中心(gluster):存储集群内是Raid-1的部署模式,当一台机器发生故障后,服务不受影响,替换机器或修复硬盘后发起自动数据修复即可

    1. (部署方式:参考数据备份一章,里面有gluster的运维管理提到节点扩容)

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

你可能感兴趣的:(数据库nosql后端cc++)