您的位置:首页 > 运维架构 > Nginx

Nginx和LVS概述

2015-09-11 12:07 543 查看
关于Nginx:



一.概念:

Nginx("engine x")
是一个高性能的HTTP和反向代理服务器,也是一个IMCP/POP3/SMTP服务器。

二.用途:

Nginx作为负载均衡服务器:既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务;Nginx作为邮件代理服务器。

三.优势:

1.Nginx专为性能优化而开发,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达
50,000个并发连接数。

2.Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。

3.Nginx支持热部署。它的启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行升级。

4.Nginx采用master-slave模型,能够充分利用SMP的优势,且能够减少工作进程在磁盘I/O的阻塞延迟。当采用select()/poll()调用时,还可以限制每个进程的连接数。

5.Nginx代码质量非常高,代码规范,手法成熟,模块扩展也很容易。

6.Nginx采用了一些OS提供的最新特性如,从而大大提高了性能。

关于LVS:

一. 概念:

LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。宗旨是使用集群技术和Linux操作系统实现一个高性能、高可用的服务器。

二. 技术:

1. 技术简介:LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度起自动屏蔽服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。

2. 集群的三层结构:

负载调度器:整个集群对外面的前端机,负责将客户的请求发送到一组服务器执行,而客户认为服务来自一个IP地址(虚拟IP地址)上的。采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。

服务器池:是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

共享存储:它为服务器池提供一个共享的存储区,容易使得服务服务器拥有相同的内容。提供相同的服务。共享存储通常是数据库、网络文件系统、分布式文件系统。

3. 分布式锁管理器:

当不同服务器上的应用程序同事读写访问分布式文件系统上同一资源时,应用程序的访问冲突需要消解才能使得资源处于一致状态,这就需要分布式锁管理器。

4. 监视器(Graphic Monitor):

Graphic Monitor是为系统管理员提供整个集群系统的监视器,它可以监视系统的状态。Graphic Monitor是基于浏览器的,所以无论管理员在本地还是异地都可以监测系统的状况。

三.LVS三种负载均衡:

1.
VS/NAT


VS/NAT是一种最简单的方式,所有的服务器只需要将自己的网关指向Director即可。

优势:服务器可以运行任何支持TCP/IP的操作系统,只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址。

缺点:伸缩能力有限,调度器本身可能称为系统的新瓶颈。

2.
VS/TUN


调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为
VIP 的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。

优势:负载调度器枝江请求调度到不同的后端服务器,后端服务器将应答直接返回给用户,极大地增加负载调度器调度的服务器数量

3.
VS/DR


VS/DR方式是通过改写请求报文中的MAC地址部分来实现的。调度器和服务器必需在物理上有一个网卡通过不间断的局域网相连。在VS/DR中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。调度器的VIP地址对外可见,而服务器的VIP对外是不可见的。

优势:同VS/TUN方法一样,提高了LVS集群系统的伸缩性。这种方法没有IP隧道的开销,效率最高。但是要求负载调度器与服务器都有一块网卡连在同一物理网段上,服务器网络设备不做ARP响应。

补充:关于分布式文件系统:



1. 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。

2. 分布式文件系统的设计基于客户机/服务器模式。

3. 分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。

4. 系统分类:

NFS(网络文件系统):NFS的实质在于用户间计算机的共享。用户可以联结到共享计算机并像访问本地硬盘一样访问共享计算机上的文件。

Andrew系统:通过基于单元的结构生成一种可管理的分布式环境。一个单元是某个独立区域中文件服务器和客户机系统的集合,这个独立区域由特定的机构管理。

KASS系统:基于JAVA的纯分布式文件系统,功能类似于DFS、GFS、Hadoop,通过HTTP
WEB为企业的各种信息系统提供底层文件存储及访问服务,搭建企业私有云存储服务平台。

5. 无状态系统NFS和回呼系统AFS区别:

无状态系统:服务器并不保存其客户机正在缓存的文件的信息。因此,客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件。

回呼系统:服务器记录它的那些客户机的所作所为,并保留它们正在缓存的文件信息。服务器在一个客户机改变了一个文件时使用应答技术通知其它客户机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: