集群的设计思路

按功能

	1.高可用(例如redis主从,例如 镜像扩容)可以以 负载均衡
	
	2.扩容
		1.处理能力扩容:镜像扩容 (例如多个 服务),主从模式 可以做负载均衡
		
			镜像扩容,不仅可以提高处理能力,而且可以做高可用(一台机器崩了,其他机器可以继续使用,只是处理能力下降)
			主从模式,不仅可以保证高可用,而且可以用主机做写操作,读操作从 从机,做到读写分离负载均衡,
			但是这里的 一般讨论的 是 一主多从
			
		2.存储能力扩容:分片扩容 (例如 redis 多个 主节点),也可提供负载均衡效果,但是只能是写,不能读,因为读会导致,每台机器数据不一样
		  同样,分片扩容,在 一种特别的情况下,即 只做写操作的情况下,可以做负载均衡,不能读
		
			只能提高存储能力,不能做高可用,因为只要一台主节点坏了(没有从节点的情况)
			就会丢失数据,必须要用上 高可用功能的集群例如主从

	从这里可以看出,镜像扩容,和主从模式,既可以满足高可用,也可以满足 处理能力扩容
	
	对存储类型的集群:要从2个大的方面,读,写 去考虑,读(考虑,高可用,处理能力,存储能力)写(同样三种能力)
	
	但是特别注意,存储类型的集群 不允许出现 “分布式锁” 问题,现在还不是特地知道怎么设计,但是一点,就算要提高
	mysql的存储能力,即可能想要说,多个主机(因为从机使用来,备份,和,提高高可用的,以及读写分离,提供
	处理能力的),分布式锁问题的出现,就是 在 主机上 可能 设置相同的内容的主机,但是 一个主机数据变化,
	另一个 也要变化,mysql的多 主 多 从,确实也是这么设计的,但是,多个相同的 主,不代表会出现,上面分布式
	锁问题,分布式锁问题出现的前提,相同镜像,并且负载均衡访问,但是mysql的 多个主 只负责同步,只提供一个
	主机 给 外界 读写,就可以满足要求了(读一定满足,写不一定满足,但是以后再说),另一台主机的目的,不是
	来提高,处理能力的,处理能力由 主从读写分离解决,是来 给提供服务的 主机,当备份的,虽然从也可以当备份
	
	至于mysql的 存储扩容问题,也不是简单的 分片处理,分片处理也不能 多个主 提供负载,只要多个主提供负载
	就可能涉及 分布式 锁问题

	总而言之,一主多从,可以解决,高可用问题,读写分离解决一部分 处理能力的问题,存储扩容的问题没有解决
	反正,存储扩容问题和 另一部分 处理能力(在 写的能力的 提升),反正加了这些后,不能设计 “”分布式锁问题“”

	上面这种,按功能的 集群部署分类,很多时候要一起使用,并且 一种功能在 特别的情况下,可能会有多种功能的效果(要灵活应用)

	对于存储集群,每个 读节点,都要保存 all数据

按 集群是否相同(即两个集群完全一样)

	1.相同
		镜像扩容 
		主从复制(例如 redis主从,主节点和从节点数据一样,目的就是高可用)
		
	2.不同
		分片扩容(目的提高整体的 存储容量,每台机器存的数据 不一样,合起来是整体数据)

最后注意,存储集群,不要设计分布式锁问题,至于怎么设计,现在我还没有一个 明确的答案,后面解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值