Linux系统主流架构一
随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统,例如:Centos、Red Hat、Ubuntu、Fadora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我跟大家一起来分享讨论目前的最多的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是目前基于7层应用,能够实现各种规则转发,反向代理我们后端的Java、PHP动态服务器,同时Nginx本身处理静态页面的能力官方理论并发5w/s,同时Nginx还可以作为缓存服务器存储我们静态页面缓存,性能跟squid不相上下。并确保Nginx跟后端服务连接是否异常等。
3)后端服务层
后端存放我们真正的网站和后台服务,通过前端Nginx调用,后端常见的服务解析软件,如果是jsp语言的话,容器为Tomcat、Resin、Weblogic等等。
如果是PHP程序,我们就需要安装PHP环境来解析PHP代码,然后通过前端Nginx反向代理提供给用户访问。
在日常的运维中,需要注意后端服务层的监控,及连接数的问题,要实时关注并监控后端服务的正常,配置多实例,冗余案例。
4)数据库层
目前互联网主流数据库有MySQL、mariadb、mongodb、Oracle等等,对于数据库是整个架构的核心层,而且数据是企业生存之本,所以数据库的架构和维护也是至关重要的。中大型互联网公司都有自己专职的DBA人员负责MySQL的运维和维护。
对于IT运维人员在维护数据库时需要密切关注数据库的并发数、连接池等变化,关注数据库主从、读写分离状态及日志的变化情况,并制定完整的备份机制完成数据库的备份,有问题及时处理。