1.高可用(例如redis主从,例如 镜像扩容)可以以 负载均衡2.扩容1.处理能力扩容:镜像扩容 (例如多个 服务),主从模式 可以做负载均衡镜像扩容,不仅可以提高处理能力,而且可以做高可用(一台机器崩了,其他机器可以继续使用,只是处理能力下降)主从模式,不仅可以保证高可用,而且可以用主机做写操作,读操作从 从机,做到读写分离负载均衡,但是这里的 一般讨论的 是 一主多从2.存储能力扩容:分片扩容 (例如 redis 多个 主节点),也可提供负载均衡效果,但是只能是写,不能读,因为读会导致,每台机器数据不一样 同样,分片扩容,在 一种特别的情况下,即 只做写操作的情况下,可以做负载均衡,不能读只能提高存储能力,不能做高可用,因为只要一台主节点坏了(没有从节点的情况)就会丢失数据,必须要用上 高可用功能的集群例如主从从这里可以看出,镜像扩容,和主从模式,既可以满足高可用,也可以满足 处理能力扩容对存储类型的集群:要从2个大的方面,读,写 去考虑,读(考虑,高可用,处理能力,存储能力)写(同样三种能力)但是特别注意,存储类型的集群 不允许出现 “分布式锁” 问题,现在还不是特地知道怎么设计,但是一点,就算要提高mysql的存储能力,即可能想要说,多个主机(因为从机使用来,备份,和,提高高可用的,以及读写分离,提供处理能力的),分布式锁问题的出现,就是 在 主机上 可能 设置相同的内容的主机,但是 一个主机数据变化,另一个 也要变化,mysql的多 主 多 从,确实也是这么设计的,但是,多个相同的 主,不代表会出现,上面分布式锁问题,分布式锁问题出现的前提,相同镜像,并且负载均衡访问,但是mysql的 多个主 只负责同步,只提供一个主机 给 外界 读写,就可以满足要求了(读一定满足,写不一定满足,但是以后再说),另一台主机的目的,不是来提高,处理能力的,处理能力由 主从读写分离解决,是来 给提供服务的 主机,当备份的,虽然从也可以当备份至于mysql的 存储扩容问题,也不是简单的 分片处理,分片处理也不能 多个主 提供负载,只要多个主提供负载就可能涉及 分布式 锁问题总而言之,一主多从,可以解决,高可用问题,读写分离解决一部分 处理能力的问题,存储扩容的问题没有解决反正,存储扩容问题和 另一部分 处理能力(在 写的能力的 提升),反正加了这些后,不能设计 “”分布式锁问题“”上面这种,按功能的 集群部署分类,很多时候要一起使用,并且 一种功能在 特别的情况下,可能会有多种功能的效果(要灵活应用)对于存储集群,每个 读节点,都要保存 all数据
按 集群是否相同(即两个集群完全一样)1.相同镜像扩容 主从复制(例如 redis主从,主节点和从节点数据一样,目的就是高可用)2.不同分片扩容(目的提高整体的 存储容量,每台机器存的数据 不一样,合起来是整体数据)
最后注意,存储集群,不要设计分布式锁问题,至于怎么设计,现在我还没有一个 明确的答案,后面解决