当前位置: 首页 > news >正文

Linux主流架构运维工作简单剖析

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS、RedHat、Ubuntu、Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构:LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP+MySQL/MariaDB等。分享一个简单的拓扑图,供各位同学实验参考

Linux主流架构运维工作简单剖析Linux主流架构运维工作简单剖析

一般网站总体分为四层,依次为前端负载均衡、中间代理、后端服务、数据库层。

当然除了这个整体的流程,不同的公司扩展的东西也非常多,各种系统不断的往这个架构里面添加,形成一个非常庞大、复杂的系统。那接下来我们对每个层级运维人员需要注意的细节:

LVS负载均衡层

LVS负载均衡层主要用来抵御大流量及转发数据功能,一般基于TCP/IP 四层协议进行转发,根据不同的内部环境使用的转发方式也不一样,通常DR模式效率比较高,LVS+keepalived结合,可以使用keepalived去管理我们整个配置文件,让负责均衡变得简单实用,可以各种策划来检查后端Nginx或者Squid服务是否正常。

LVS简单工作原理:用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接受到请求,返回给用户,对于用户来说,看不到WEB后端具体的应用。

运维人员在维护LVS中,需要密切关注LVS当前转发连接数及系统LVS日志。通过监控平台监控VIP、真实IP的情况、连接数的情况。

Nginx反向代理层

Nginx是目前主流的高性能WEB服务器,Nginx因为非常不错的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗等优点,目前发展势头非常火爆。

Nginx主要基于7层应用,能够实现各种规则转发,反向代理我们后端的JAVA、PHP动态服务器,同时Nginx本身处理静态页面的能力官方理论并发5w/s,同时Nginx还可以作为缓存服务器存储我们静态页面缓存,性能跟squid不相上下。

作为IT运维人员在日常运维中,需要长期的关注网站的整体运行情况,分析网站瓶颈,不断优化Nginx的相关参数,并确保Nginx跟后端服务连接是否有异常等。

后端服务层

后端存放我们真正的网站和后台服务,通过前端Nnginx调用,后端常见的服务解析软件,如果是jsp语言的话,容器为Tomcat、Resin、Weblogic等等。

如果是PHP程序,我们就需要安装PHP环境来解析php代码,然后通过前端Nginx反向代理提供给用户访问。

在日常的运维中,需要注意后端服务层的监控,及连接数的问题,要实时关注并监控后端服务的正常,配置多实例,冗余案例。

数据库层

目前互联网主流数据库有Mysql、Mariadb、mongodb、Oracle等等,对于数据库是整个架构的核心层,而且数据是企业生存之本,所以数据库的架构和维护也是至关重要的。中大型的互联网公司都有自己专职的DBA人员负责Mysql的运行和维护。

对于IT运维人员在维护数据库时需要密切关注数据库并发数、连接池等变化,关注数据库主从、读写分离状态及日志的变化情况,并制定完整的备份机制完成数据库的备份,有问题及时处理。

原文来自:http://os.51cto.com/art/201703/534853.htm

本文地址:http://www.linuxprobe.com/linux-main-architecture.html

转载于:https://my.oschina.net/u/3308739/blog/876758

相关文章:

  • AndroidStudio打包apk,安装出现签名冲突--解决办法
  • 最大整数
  • mysql sum() 求和函数的用法
  • 新事物的代价 共享汽车所碰到的尴尬
  • Intellij IDEA 配置Subversion插件时效解决方法
  • 封装sdk——包装模式
  • vue-router
  • 第二百二十五节,jQuery EasyUI,PropertyGird(属性表格)组件
  • 5 -- Hibernate的基本用法 -- 要点
  • linux之SQL语句简明教程---SUBSTRING
  • 面向对象访问修饰符
  • Mongodb $in $or 性能比较
  • Android Studio之多个Activity的滑动切换(二)
  • log4j
  • Android——4.2.2 源代码文件夹结构分析
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android框架之Volley
  • Fastjson的基本使用方法大全
  • Java 23种设计模式 之单例模式 7种实现方式
  • JAVA 学习IO流
  • Sass Day-01
  • ucore操作系统实验笔记 - 重新理解中断
  • 从0到1:PostCSS 插件开发最佳实践
  • 分布式任务队列Celery
  • 简单基于spring的redis配置(单机和集群模式)
  • 力扣(LeetCode)357
  • 区块链技术特点之去中心化特性
  • 详解NodeJs流之一
  • 学习HTTP相关知识笔记
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (全注解开发)学习Spring-MVC的第三天
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • *上位机的定义
  • .java 9 找不到符号_java找不到符号
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 项目指定SDK版本
  • .NET delegate 委托 、 Event 事件
  • .NET gRPC 和RESTful简单对比
  • .NET 的程序集加载上下文
  • .Net 垃圾回收机制原理(二)
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET开发者必备的11款免费工具
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .Net中ListT 泛型转成DataTable、DataSet
  • .NET中的Exception处理(C#)
  • .Net中的设计模式——Factory Method模式
  • @ComponentScan比较