由于存在机器故障等意外事故的可能性,数据库的高可用一直以来都备受关注。作为 NOSQL 数据库,TcaplusDB提供可扩展性以及跨数据中心场景下的高可用。本文档旨在介绍同城双数据中心部署 TcaplusDB 方案。
TcaplusDB的高可用技术原理
Tcaplus各个服务模块均已支持高可用部署
以下逐一介绍:
-
MySQL: 使用原生MySQL Cluster集群或云供应商的MySQLdb, 建议配置域名接入,背后多个RS的模式
-
(部署方式:部署方式从网上参考)
-
-
OMS:支持搭建多个OMS管理端,相互之间平等互不影响
-
(部署方式:为新机器添加Mysql权限后, 安装xampp,解开OMS包,执行./install_web.sh 传入mysql连接信息作为参数,安装完毕后删掉/data/tcaplus/tcapoms/www/app/install.php初始页面,即可正常使用)
-
-
Tcapcenter:每个集群(set)有一个ServingCenter,支持部署StandbyCenter,以一对多的方式监视多个ServingCenter的状态,一旦确认ServingCenter发生故障不可服务,数分钟内可完成角色切换,接管原ServingCenter的下属进程
-
(部署方式: 为新机器添加Mysql权限后,先从“集群维护”中注册新集群,再使用单据“安装StanbyCenter”)
-
-
-
-
Tcapdir:每个集群(set)至少部署2个Tcapdir,每个Tcapdir知悉完整的目录服务器列表,当正在连的Tcapdir发生故障,客户端将自动从列表中选择其他存活Tcapdir进行连接, 方便日常进程扩缩容
-
(部署方式:先为Tcapdir赋予Mysql权限,再将tcapdir初始化入池)
-
, 填写登录信息,将机器入池,详细参考机器上架一章
-
点击目录服务
-
-
点击“新增目录服务”
-
-
点击提交,安装完成后, tcapdir完成了扩容
-
-
Tcapsvr:存储层以一主一从(后文称: Master-Slave)的双节点部署方式, 一般情况下都由Master承担DB读写请求, 当Master故障异常,Proxy将很快知悉问题(内部统计, 一定时间内,请求经Proxy发给Master后没收到响应), 遂通知Center做统一决策,满足切换条件时会通知Slave将自己角色切换为Master,并调整路由表,切换完成后通知Tcaproxy更新Master信息
-
(部署方式:参考存储层扩缩容)
-
-
Tcaproxy:每个游戏区(zone)至少部署2个Tcaproxy,在客户端处实现请求均衡,扩容Tcaproxy可加强吞吐能力, 当Tcaproxy进程故障异常,Center感知到心跳中断,将通过Tcapdir通知客户端更新Proxy列表(剔除异常进程)
-
(部署方式:参考接入层扩缩容)
-
-
Tcapdb:每个业务(App)至少部署2个Tcapdb,Tcapsvr在转发缓写数据时将从多个Tcapdb中实现请求均衡,扩容Tcapdb可加强吞吐能力
-
(部署方式:参考缓写层扩缩容)
-
-
冷备中心(gluster):存储集群内是Raid-1的部署模式,当一台机器发生故障后,服务不受影响,替换机器或修复硬盘后发起自动数据修复即可
-
(部署方式:参考数据备份一章,里面有gluster的运维管理提到节点扩容)
-
TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。
来源:freebuf.com 2021-06-25 16:44:33 by: tcaplus
请登录后发表评论
注册