客户们经常会问:“你们这个产品,需要部署多少个节点呀?”有些小伙伴就开始懵圈了:“稍等!我问问。”这就显得不够专业和自信。
本文让你学习如何搞清AMDC部署到底有哪几种模式,需要部署几个节点,让你能“唬住”客户的小知识又多了一点哈。
部署模式
解决部署几个AMDC节点的问题之前,我们需要清楚AMDC是如何部署的。
AMDC一共拥有四种部署模式:
1、单机(Standalone)
2、主从(Master-Slave)
3、哨兵(Sentinel)
4、集群(Cluster)
部署的模式比较多,可能有的小伙伴对此并不熟悉,那么就让我们一起来研究一下AMDC的各种部署模式到底是怎么回事吧!
提示:本文中的“节点“”特指AMDC产品的节点,并不是主机服务器。
单机(Standalone)模式
首先我们来看最简单的模式——单机!顾名思义,就是只有一个存储数据和提供服务的节点。
优点:部署简单,配置简单,连接使用也很简单,总之很简单。
缺点:只能靠RDB文件备份,没有高可用,宕机会丢失部分数据。
图1- 单机部署模式
应用场景
单机只能适用于缓存数据并不太重要的应用系统中,作为一个辅助选手为系统提供一些快速存取数据的服务。
主从(Master-Slave)模式
有高可用,但不多——主从!主从模式也称为主备模式,由一个主节点(Master)和一个或多个从节点(Slave节点)组成。主节点可以写入/读取,从节点只能读取,但是从节点会将主节点中的所有数据都备份到自己身上。
优点:在主节点宕机时,从节点中还保存着几乎完整的数据,不担心数据大量丢失。
缺点:从节点不能写入,所以在主节点宕机后,需要手动使用命令将从节点转变为主节点或者人为地让主节点重新运行起来。
图2 - 主从部署模式
应用场景
缓存数据比较重要,同时对缓存的高可用要求不是太高,能够接受在节点出现故障时需要手动处理。
哨兵(Sentinel)模式
有高可用,真的有——哨兵!
哨兵模式是在主从的基础上搭建一个哨兵系统,通常由三个哨兵和一主二从共6个节点组成。当主节点宕机时,哨兵们会将一个数据比较全的从节点切换为主节点,将另外一个从节点的主节点会指定为新的主节点;当旧主节点重新上线时,将旧主节点变为新主节点的从节点。
优点:可以实现自动主从切换,保证系统能够正常运行,实现完全体的高可用模式;
缺点:部署起来比较麻烦;完全按照高可用部署就需要6台机器,太费机器了吧!而且只能物理扩容,无法通过横向扩展节点来增加容量。
图3 - 哨兵1判断主节点断开连接
图4- 哨兵2从节点被哨兵选为主节点
图5- 哨兵3旧主节点降级为从节点
应用场景
大多数场景下都可以使用,当然前提是机(不)器(缺)多(钱),且所需的内存不会有太大的变化(比如数据量突然暴增好几倍的那种)。
集群(Cluster)模式
高可用?横向扩展?我全都要——集群!
集群这个词可能会让一些小伙伴感到困惑,主从和哨兵不配称为集群吗?非也,主从和哨兵也算是一种集群,可以称为主从集群和哨兵。而这里的集群指定是一种多主多从、数据分片的部署模式,我们称之为——集群模式。
集群模式至少需要3个主节点组成,一般以3或3以上的单数个主节点以及>=主节点个数的从节点共同组成。集群模式不需要额外的哨兵系统就可以完成故障转移功能,实现高可用。还具有弹性伸缩,可以根据业务的变化来调整节点的数量。
优点:满足了高可用要求,又具备了实用性超强的弹性伸缩功能,还能提高总体的吞吐量。
缺点:部署起来比较麻烦,也需要挺多台机器的。
图6 - 集群部署模式
应用场景
优点满满的集群模式,在所有的场景下都可以使用,当然还是看系统是否需要这种弹性伸缩的能力,不然会有点大材小用了。
节点数选择
通过以上的部署模式介绍,相信各位小伙伴对如何推荐AMDC节点数都有了一定了解,接下来我们就深入一些,看看怎么去显得我们更专业。
首先我们需要明白客户要替换的系统大概使用了那些部署模式,不知道的按6个节点来,一般都需要高可用的,6个节点组成上述所有的。
然后,可以问问客户大概会对多少个系统会进行替换。只要客户说的笼统,那就给他推荐每个系统配备6个节点
最后给客户一个“专业意见”——6个节点才是AMDC所有能力的完全体,可以组成单机、主从、哨兵、集群这4种模式种的任意一种(集群模式只能一种)或两种(6个节点至少可以组成其他模式种的2种),可以随着业务的发展来进行变动组合。
推荐使用集群模式,这样后续的业务增长需要更大内存的时候,只需要增加节点而不改动代码。
资源参考配置
基于上述四种不同的部署模式,在IaaS云环境部署AMDC产品可以参考如下表所示的AMDC节点数和ECS主机资源配置。
AMDC能适应各种规格的物理服主机、ECS主机,实际中需要配合业务需求来进行评估和选择。
部署模式 | 部署角色 | 节点数量 | 主机配置 | 主机数量 |
单机 | AMDC缓存 | 1 | 8核/32G/100G | 1 |
主从 | AMDC缓存 | 2+ | 8核/32G/100G | 2 |
哨兵 | AMDC缓存/哨兵 | 缓存3、哨兵3 | 8核/32G/100G | 3 |
集群 | AMDC缓存 | 6+ | 8核/32G/100G | 3 |
表1 - AMDC部署节点数和ECS计算资源参考配置
注意:实际部署规划中,每一台主机也可以灵活部署多个AMDC节点,充分利用主机计算资源,经济实用且能保障缓存系统的高可用。
结束语
通过以上学习,各位小伙伴是不是都已经掌握如何给客户推荐到底需要部署几个节点了呢?客户听到你们的专业推荐后肯定会直呼内行!有的小伙伴看到这里还是,哎呀,你在说什么,我听不懂呀!都看到这里了,怎么能让你们空手而归、毫无收获呢?最后给大家一条万能回答——“稍等,我问问。”
推荐阅读