架构简介
分类:
文章
•
2025-02-08 18:40:16
用户访问流程
- 一个用户要访问一个网站在浏览器输入网址后,浏览器会发生一次跳转,分析URL并且进行DNS解析,解析出IP地址后,获取网站真实的公网IP地址,用户通过TCP的三次握手与真实的公网IP发起连接,数据包经过交换机及路由器抵达IP指定服务器。
- 数据包到达对方防火墙(firewalld)后,防火墙会根据自身访问规则进行匹配,恶意连接将拒绝访问,符合规则的进行放行,并将连接通过内网转发给负载均衡设备(Nginx),负载均衡根绝用户请求的内容下达任务给web集群服务器,web集群服务器接收到请求后会进行判断,如果是图片、视频或附件则会查找存储服务器存储的静态资源,如果是请求网站上的内容,则会先查缓存服务器(Redis),若有缓存则直接取缓存数据发给用户,若没有缓存则查询数据库服务器(MySQL),数据库查询完数据之后会返回数据给web服务器,同时也会返回一份给缓存服务器,web服务器收到数据后再返给负载均衡服务器,数据再通过防火墙及路由器等网络设备最终到达用户设备,此时用户访问网站完成。
架构中还存在着日志分析系统,通过url和uri来进行统计分析,设备包括日志存储服务器(ElastcSearch)和读取数据服务器(kibana)。
维护流程
- 运维人员如果要对内部服务器进行维护,首先要使用Openv*n进行v*n拨号,然后使用虚拟IP连接管理服务器(jumpserver),这样也能一定程度的保证内部服务器的安全性。
- 架构中还要有监控系统(Zabbix)来监视所有服务器的运行状态,实现事前预警,事后追溯。
- 服务器的配置采用自动化工具(Ansible)来维护,保证服务器任务执行的效率和准确性。
- 架构中还要有备份系统,用于备份所有服务器的配置文件。
运行环境
- 包括vmware、阿里云、OpenStack、docker。
开发流程
- 通过gitlab代码托管平台进行代码管理,在Sonarqube平台上进行代码测试,利用jenkins调度平台进行版本管理等操作。
简要示意图
