随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS、RedHat、Ubuntu、Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构。

LVS+Keepalived+Nginx+Tomcat+Mysql

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

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

Linux运维主流架构简单剖析的更多相关文章

  1. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  2. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  3. 最新linux运维高级架构课13期 架构师课程

    有会员购买的,分享给大家.完整一套,可以学习一下.     ├─L001-2017linux运维高级架构师13期-运维与自动化运维发展-10节 │      1-1运维职业发展.avi │      ...

  4. linux运维、架构之路-Docker快速入门

    一.Docker介绍        Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0 ...

  5. linux运维、架构之路-Kubernetes集群部署

    一.kubernetes介绍        Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...

  6. linux运维、架构之路-Kubernetes基础(一)

    一.Kubernetes介绍 Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统.Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并 ...

  7. linux运维、架构之路-linux用户管理

    一. linux系统用户分类 1.分类 ①超级用户:root,UID为0 ②普通用户:UID是500-65535的用户 ③虚拟用户:UID在1-499,一般不能登录,满足文件或服务启动的需要,/sbi ...

  8. linux运维、架构之路-ansible批量管理

    一.ansible软件 1.介绍 ①ansible是一个基于Python开发的自动化运维工具 ②其功能实现基于SSH远程连接服务 ③ansible可以实现批量系统配置.批量软件部署.批量文件拷贝.批量 ...

  9. linux运维、架构之路-keepalived高可用

    一.Keepalived介绍          Keepalived起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能,Ke ...

随机推荐

  1. Caused by: java.lang.ClassNotFoundException: org.springframework.expression.ExpressionParser

    1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...

  2. SCRIPT5007:无法获取属性“show”的值,对象为null或未定义

    1.错误描述 SCRIPT5007:无法获取属性"show"的值,对象为null或未定义            dojo.js,行15.字符11808 2.错误原因    requ ...

  3. vue轮播组件及去掉路由#

    最近公司要我去实现vue知识的系统讲解,总结一番,大致需要7节课,今天大致说一下我们使用vue需要学会的基本技能.vue是一个渐进性视图渲染框架,使用vue核心是数据出发,数据一般是我们前台从后台获取 ...

  4. Java之CyclicBarrier使用,任务等待

    1.类说明: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 Cycl ...

  5. SpringMVC拦截器(包括自定以拦截器--实现HandlerInterceptorAdapter)(资源和权限管理)

    一,springmvc的配置 <!-- 访问拦截 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping ...

  6. mybatis的动态增删改查

    1.动态SQL片段 通过SQL片段达到代码复用 <!-- 动态条件分页查询 --> <sql id="sql_count"> select count(*) ...

  7. JavaWeb开发环境搭建Eclipse配置Tomcat

    转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/48651251本文出自[吴孝城的CSDN博客] 工具: Eclipse官网下载:http:// ...

  8. python数据类型——字典类型

    字典(dictionary) python中唯一的映射类型,采用键值对(key-value)的形式储存数据,python对key进行哈希函数运算,所以key值必须是可哈希的,可哈希表示key必须是不可 ...

  9. 利用Cglib实现AOP

    前文讲了, 可以利用Spring, Guice等框架提供的容器实现AOP, 如果想绕过容器, 直接注入Class, 可以利用Cglib为对象加上动态代理,实现代码切入, 但是每次调用比较繁琐, 因此我 ...

  10. Xamarin改变移动开发的五个理由

    企业开发者不能简单的抛弃现有的桌面和Web应用,然而又不得不忙着创建各种各样的应用,没有太多的预算来开发移动版本,尤其是原生版本. 采用Xamarin,C#开发人员可以使用一份基础代码创建桌面版和移动 ...