高可用系统架构

基本概念

在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:

分布式

系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上
高可用系统架构_第1张图片

集群

一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。
如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。
在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性。
高可用系统架构_第2张图片

高可用

系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性
解决方案:
1、系统单点故障不影响系统服务
nginx服务(Keepalived+Nginx)
redis服务(redis集群(哨兵模式))
mysql服务(mysql主备)
后台服务(nginx负载均衡)
2、系统单点故障数据不丢失
mysql数据(mysql主从同步配置)、文件目录
3、系统的单点故障
发现(监控服务状态)
恢复(重启服务)
定位(日志、堆栈信息)

负载均衡

请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的

你可能感兴趣的:(架构)