前言
如何规划一个网站的架构是十分重要的,一个好的网站架构可以给网站带来安全性,维护更加简单,服务更加稳定等等…
接下来便简要简述一下,一个网站的架构内容,其中涉及的服务器与所需软件
正文
集群架构概念图示
- 用户顾客(网站访问者)
作用: 访问网站 - 保安(防火墙)(硬件:ASA 软件:firewalld/iptables)
作用: 控制管理用户访问的流量信息,过滤“坏请求” - 迎宾人员(负载均衡服务器)(nginx)
作用: 调度分配作用,将用户的请求分散给不同的 web服务器,降低web服务器的压力 - 服务员( 网站服务器web)(nginx)
作用:处理用户请求 - 监控,摄像头(监控服务器)(zabbix)
作用:架构中服务器出现问题需要进行提前报警告知 - 跳板机,审计(跳板机服务器)(jumpserver)
作用:内部员工操作管理架构服务器要进行审计,防止员工非法破坏 - 采购的肉奶蛋米(数据库服务器)(mysql)
作用:存储的字符数据 - 洗碗,配菜,摆才(存储服务器)(nfs)
作用:存储图片 音频 视频 附件等数据信息 - 厨师(缓存服务器)(redis)
作用:将数据信息存储到内存中 ,减缓服务器的压力 - 仓库(备份服务器)(rsync)
作用:存储网站重要数据 - 经理(批量管理服务器 )(ansible)
作用: 批量管理多台服务器主机 - 综合架构认证服务**(PPTP vpn、openvpn)**
作用:认证管理远程外网用户的登录,防止非法用户的登录
流程说明:
用户点击网站按钮,发送请求。
第一步:请求被防火墙拦截,如果防火墙检测该请求符合,则放行,否则将阻止其访问
第二步:访问负载均衡服务器,通过一定的算法,将该请求转发到某一台 web 服务器中
第三步:web服务器中的代码“接受”到用户的特定请求,然后访问缓存服务器
第四步:如果缓存服务器没有值,则去访问数据库服务器
第五步:如果用户有上传图片,视频等大文件,则会访问存储服务器,将用户数据存储下来,同时备份服务器也会同步存储服务器里面的内容
第六步:备份服务器设置了定时任务,发送备份报告给运维人员
其中,监控服务器会每时每刻监控整个架构中的服务器是否出现异常,比如磁盘不足,服务器宕机等…而跳板机会审计每一个人员的操作情况,防止他们进行危险的操作,例如删库跑路等…
为什么需要多台服务均衡无服务?
答:由图可以看出,服务均衡服务器在整个网站架构中是什么重要的,如果服务均衡服务器出现问题,会直接导致整个网站不可用,所以要设置多个负载均衡服务器。而且其中是主备关系,也就是有一个是主服务器,其他都是备用,我们会利用 keepalived服务来进行主备之间的切换,当主服务器出现问题,备份服务器可以快速顶替主服务。
备份服务器只有一台合理么?
答:在图中可以看到备份服务器只有一台,但如果只有一台其实不够安全,如果备份服务器也出现问题,就会导致用户数据丢失,所以一般备份服务器会有多台,且分布在不同的地方,就像中石油,两地三中心的方式,极大的保存了数据。
需要解决网站单点问题:
网站单点就是像负载均衡,数据库,缓存服务器,存储服务器这些关键的服务器只有一台,但是一旦出现故障,就会严重影响整个网站,所以一般都要进行高可用,即高并发下系统仍然可以使用(即使一台服务器出现故障,也有备份服务器即使顶替)。常用 keepalived 服务来实现。对数据的存储进行分布式存储,即将数据保存到不同的服务器上。
公司的数据是如何备份的?
(1)利用开源软件实现数据备份,例如rsync
(2)利用企业网盘进行数据备份 例如:七牛云存储
(3)利用自建备份存储架构 例如:中石油公司的两地三中心
内部员工如何远程访问架构中的服务器?
企业部署搭建VPN服务器
内部员工操作管理架构服务器要进行审计,使用跳板机服务器 jumpserver来实现
架构中服务器出现问题需要进行提前报警告知
部署监控服务器 zabbix
PS:接下来的博客会分别介绍里面的各种服务的使用