概念

  • 分布式:是指将不同的业务分布在不同的地方(创建不同的项目并大多是部署在不同的服务器)
  • 集群:指的是将几台服务器集中在一起,实现同一项目或业务(比如秒杀业务)
  • 负载均衡:在集群的基础上对某一业务的流量进行均衡处理,避免工作不平衡造成压力大的服务崩溃
  • 分布式中的每一个节点,都可以做集群。
  • 而集群并不一定就是分布式的(同一个项目可以部署多台服务器实现集群,但业务并没有细分)。

使用场景

何时要用分布式

单台服务器单个项目中的某一个业务无法承受压力,需要解耦出来单独部署。
需要实现发生错误时候,自动切换到正常的业务服务模块
学习或者测试分布式技术这个概率实践时
##应用分布式的场景

一、提供多个对外的接口,按照一定规则,分派不同请求由不同接口来处理。

二、把一个功能拆分成多个功能,不同功能分布部署到不同服务器上
对外功能的拆分

如下按照二级域名拆分功能,使每个服务都成为一个单独的部署环境
http://news.sina.com.cn/http://sports.sina.com.cn/http://mobile.sina.com.cn/

负载均衡的使用场景

当访问量大或者不能出现服务中断需要高可用的服务时单台服务器无法承载这个压力可以考虑多台服务器承担。
这时候需要考虑:

如何实现负载均衡
在哪个层次实现转移负载
负载的均衡如何实现
如何实现故障转移
如何监控故障
如何切换服务

涉及到的技术

01.大型网站高并发解决方案LVS获取
02.KeepAlived实现负载均衡器高可用获取
03.HAProxy&Nginx负载均衡集群构建获取
04.ELK开源日志分析平台获取