简介
在使用多台设备处理海量数据的时候,主要有两种方案:流量分流和业务分流。
流量分流
流量分流也就是我们常说的集群架构,这里不细说,可以看一下我之前的文档:高并发服务器学习笔记之十一:集群架构
业务分流
业务分流也就是我们常说的分布式架构,是今天的主要内容。
一个完成的系统,是由多个业务组成,业务之间相互协调来完成工作。而分布式架构区别于传统的集中式架构,就是将不同的业务分别架设在不同的机器上,彼此之间使用RPC协议进行协调工作。
集群和分布式的区别与联系
两种架构都是使用多台机器来处理海量数据的解决方案,而且两者经常混在一起使用,并统称为“分布式集群”,因此经常有人将两种概念搞混。集群是流量分流,当大量数据到来,会根据每个节点的闲置情况进行分流处理;分布式是先将业务进行拆分,分别放在不同的节点上,根据处理业务的不同去分配相应业务的节点。
举个栗子,现在想做这么个事,设计一个集视频播放与直播一体的系统。
如果采用集群架构,那么就将所有代码都写在一个程序中,分别部署在多台机器上,并用一个发现服务器进行最优节点分配。
如果采用分布式架构,那么就将直播的代码和视频分别写在两个程序中,然后分别部署,客户端在需要时去连接相应的节点。
而所谓的“分布式集群”,就是先将业务拆分,采用分布式架构