共计 1369 个字符,预计需要花费 4 分钟才能阅读完成。
随着 IT 运维的不断发展,尤其的 Linux 的飞速发展,越来越多的企业开始使用 Linux 操作系统平台,例如 CentOS、RedHat、Ubuntu、Fedora 等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的 Linux 下主流网站架构:
LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP+MySQL/MariaDB 等,分享一个简单的拓扑图,供各位同学实验参考:
一般网站总体分为四层,依次为前端负载均衡、中间代理、后端服务、数据库层。
当然除了这个整体的流程,不同的公司扩展的东西也非常多,各种系统不断的往这个架构里面添加,形成一个非常庞大、复杂的系统。那接下来我们对每个层级运维人员需要注意的细节:
1) LVS 负载均衡层
LVS 负载均衡层主要用来抵御大流量及转发数据功能,一般基于 TCP/IP 四层协议进行转发,根据不同的内部环境使用的转发方式也不一样,通常 DR 模式效率比较高,LVS+keepalived 结合,可以使用 keepalived 去管理我们整个配置文件,让负责均衡变得简单实用,可以各种策划来检查后端 Nginx 或者 Squid 服务是否正常。
LVS 简单工作原理:用户请求 LVS VIP,LVS 根据转发方式和算法,将请求转发给后端服务器,后端服务器接受到请求,返回给用户,对于用户来说,看不到 WEB 后端具体的应用。
运维人员在维护 LVS 中,需要密切关注 LVS 当前转发连接数及系统 LVS 日志。通过监控平台监控 VIP、真实 IP 的情况、连接数的情况。
2) Nginx 反向代理层
Nginx 是目前主流的高性能 WEB 服务器,Nginx 因为非常不错的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗等优点,目前发展势头非常火爆。
Nginx 主要基于 7 层应用,能够实现各种规则转发,反向代理我们后端的 JAVA、PHP 动态服务器,同时 Nginx 本身处理静态页面的能力官方理论并发 5w/s,同时 Nginx 还可以作为缓存服务器存储我们静态页面缓存,性能跟 squid 不相上下。
作为 IT 运维人员在日常运维中,需要长期的关注网站的整体运行情况,分析网站瓶颈,不断优化 Nginx 的相关参数,并确保 Nginx 跟后端服务连接是否有异常等。
3) 后端服务层
后端存放我们真正的网站和后台服务,通过前端 Nnginx 调用,后端常见的服务解析软件,如果是 jsp 语言的话,容器为 Tomcat、Resin、Weblogic 等等。
如果是 PHP 程序,我们就需要安装 PHP 环境来解析 php 代码,然后通过前端 Nginx 反向代理提供给用户访问。
在日常的运维中,需要注意后端服务层的监控,及连接数的问题,要实时关注并监控后端服务的正常,配置多实例,冗余案例。
4) 数据库层
目前互联网主流数据库有 Mysql、Mariadb、mongodb、Oracle 等等,对于数据库是整个架构的核心层,而且数据是企业生存之本,所以数据库的架构和维护也是至关重要的。中大型的互联网公司都有自己专职的 DBA 人员负责 Mysql 的运行和维护。
对于 IT 运维人员在维护数据库时需要密切关注数据库并发数、连接池等变化,关注数据库主从、读写分离状态及日志的变化情况,并制定完整的备份机制完成数据库的备份,有问题及时处理。