随着IT运维的不断发展,尤其是linux的飞速发展,越来越多的企业开始使用Linux操作系统,例如centos、RedHat、Ubuntu、Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构 。
文章插图
一般网站总体分为四层,依次为前端负载均衡、中间代理、后端服务、数据库层 。当然除了这个整体的流程,不同的企业扩展的东西也不尽相同,各种系统不断的往这个架构里面添加,形成一个非常庞大、复杂的系统 。那接下来我们对每个层级运维人员需要注意的细节:
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主要基于七层应用,能够实现各种规则转发,反向代理后端的JAVA、php动态服务器,同时Nginx本身处理静态页面的能力官方理论并发5w/s,同时Nginx还可以作为缓存服务器存储我们静态页面缓存,性能跟squid不相上下 。作为IT运维人员在日常运维中,需要长期的关注网站的整体运行情况,分析网站瓶颈,不断优化Nginx的相关参数,并确保Nginx跟后端服务连接是否有异常等 。
3.后端服务层
后端存放真正的网站和后台服务,通过前端Nnginx调用,后端常见的服务解析软件,如果是jsp语言的话,容器为Tomcat、Resin、Weblogic等等 。如果是PHP程序,就需要安装PHP环境来解析php代码,然后通过前端Nginx反向代理提供给用户访问 。在日常的运维中,需要注意后端服务层的监控,及连接数的问题,要实时关注并监控后端服务的正常,配置多实例,冗余案例 。
4.数据库层
【Linux主流架构运维工作简单剖析】目前互联网主流数据库有MySQL、Mariadb、mongodb、Oracle等等,对于数据库是整个架构的核心层,而且数据是企业生存之本,所以数据库的架构和维护也是至关重要的 。中大型的互联网公司都有自己专职的DBA人员负责数据库的运行和维护 。对于IT运维人员在维护数据库时需要密切关注数据库并发数、连接池等变化,关注数据库主从、读写分离状态及日志的变化情况,并制定完整的备份机制完成数据库的备份,有问题及时处理 。
推荐阅读
- 一文看懂微服务架构之注册中心Consul、Nacos
- Linux 软链接的使用和具体演示
- 程序员也需了解的主流云计算网络架构
- 运维人员常用的 Linux 命令汇总
- linux内核调度算法--快速找到最高优先级进程
- 图解Linux网络包接收过程
- 数据中台到底包括什么内容?一文详解架构设计与组成
- 我开源了第一个基于Vue的组织架构树组件
- 理解了Linux I/O机制,才能真的明白“什么是多线程”
- 综合架构的简述