Linux主流架构运维工作简单剖析讲解
随着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运维人员在维护数据库时需要密切关注数据库并发数、连接池等变化,关注数据库主从、读写分离状态及日志的变化情况,并制定完整的备份机制完成数据库的备份,有问题及时处理。