:GaussDB T上生产整体规划丨GaussDB野生教程( 三 )


主备架构的规划方面可以说的有如下几点:
1)建议配置浮动IP共业务使用
如上文所述 , 这可以减少主备切换对业务的影响 。
2)重点关注高可用部分
高可用是一个可以展开慢慢研究的项目 。
对于“一主一备”这种简单环境 , 其实仅需要设置一个QUORUM_ANY = 1即可 , 此配置默认关联“最大可用” , 有备机时相当于最大保护 , 没主机时相当于最佳性能 , 可是说是最合理的选项了 。
3)“一主一备”环境中ETCD分布并不均匀
“一主一备”环境包含两台机器 , 那必然会导致一台主机上2个ETCD , 另一台主机上1个ETCD , 这是正常现象 。
单机架构规划例子如下:
:GaussDB T上生产整体规划丨GaussDB野生教程
本文插图
主备架构(一主一备)规划例子如下:
:GaussDB T上生产整体规划丨GaussDB野生教程
本文插图
如何规划分布式架构
分布式架构的规划涉及如下几点:
1)是否需要GTS
GTS涉及分布式事务中的ACID , 这个具体看业务需求而定了 。 笔者需要提醒的是 , 目前GTS只能一主一备 , 要是都凉了 , 集群的状态也会变成不可用 。
2)是否需要GBP
GBP总不能有TCP协议作死吧 , 还是得有RDMA协议支持 , 笔者暂时还没研究这块 。
3)CN要多少个
CN目前只能一台主机上部署一个 , 而且DN是没有主备同步的 , 只能多部署几个当买个保险了 。 要是CN都凉了 , 集群状态同样会变成不可用 。 此外 , 官方的建议是CN数少于10个 。
当然 , CN多了也会带来运维上的麻烦 , 例如CN所在的主机掉线了 , 默认的5分钟(通过coordinatorheartbeattimeout控制)内不恢复的话 , CN就出于DELETED状态 , 接下去就是两杯毒酒挑一杯的事了 。

  • 手动重建 , 需要人工保证掉线的CN与其余CN之间的数据字典一致性 , 同时还得手工执行十来个步骤;
  • 自动重建 , 需要重建当前CN , 而且这个重建是不完整的(笔者实测重建后在原有CN上基于clsmgr的授权操作将丢失 , 从技术原理来说可以理解 。 问题来了 , 运维规范得跟上 , 类似系统视图授权之类操作需要加入到重建步骤里面) 。

4)DN同步协议怎么选
DN的同步协议通过配置文件的clusterconfig.xml的datanodeType参数控制 , 可选择有DN_ZENITH_ZPAXO、DN_ZENITH_HA 。
DN_ZENITH_ZPAXOS:DN主备同步协议使用GS-Paxos , 适合对可靠性要求较高的系统 。 集群部署时 , 最少必须部署2台备机 , 最多支持8台备机 。
DN_ZENITH_HA:DN主备同步协议使用Quorum , 适合对灵活性要求较高的系统 。 集群部署时 , 最少可部署1台备机 , 最多支持9台备机 。
如上文所述 , DN组是一个都不能少的 , 哪怕多个DN组中仅一个存在异常 , 整个集群均会变成不可用状态 , 因此请慎重配置DN 。
分布式架构(2CN3DN , 采用ZPAXOS协议)规划例子如下:
:GaussDB T上生产整体规划丨GaussDB野生教程
本文插图
一起来打脸
对于本文内容有什么疑问或点赞或吐槽 , 又或者你在学习和使用GaussDB过程中有什么心得体会 , 都欢迎大家在评论区留言 , 一起探讨交流 。 笔者先自问自答起个头:
Q:GaussDB T如何下载?
A:介质方面GaussDB T软件只能从华为官方渠道通过相应的项目去申请 。 官方文档倒是可以从官方的support网站上下载 。 GaussDB T的最新版文档 , 大家可以经常关注下:https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-21430725/PBI1-21430757/PBI1-21431665/PBI1-250430182/PBI1-250399837