闵其亮+胡耀晞+钟教俊
摘要:在这个互联网时代,云计算、大数据产业也发展迅速。云计算和大数据作为一个基于开源软件的平台,毫无疑问,Linux占据了核心优势。也许我们对Linux并不是很了解,但在接触之后,才发现它有无穷的魅力,在进一步了解之后,意识到Linux值得我们去钻研,去探究。
关键词:开源;负载均衡;轮询方式;NAT;操作系统
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯?托瓦兹在1991年首次发布,之后再加上用户空间的应用程序,就成为Linux操作系统。Linux常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面,并且保持着快速的增长率,尤其在政府、金融、交通、电信等国家关键邻域。据统计,Linux在服务领域已经占据了76%的市场份额,它的迅速崛起,已经引起了全球IT产业的高度关注。
Linux成本低,其强大的定制功能以及良好的可移植性使得它在嵌入式系统方面也得到了广泛应用。我们在移动设备上使用的Andriod操作系统,比如手机、路由器、电视等就是创建在Linux内核之上的。目前,Android操作系统的全球市场份额已经达到85%。此外,思科公司在网络防火墙和路由器中也使用了定制Linux,阿里云和腾讯云也开发了一套基于Linux操作系统的“YunOS”。
在这个互联网时代,云计算、大数据产业也发展迅速。云计算和大数据作为一个基于开源软件的平台,毫无疑问,Linux占据了核心优势。据研究表明,Linux已经开始取代UNIX成为最受青睐的云计算、大数据平台操作系统。
Linux发行的版本有很多,常见的Linux发行版有哪些呢?据我所了解,Linux主流的操作系统有Red Hat、CentOS、SuSE Linux、Ubuntu Linux等。我们主要来讲解在CentOS下的一些简单的Linux实验。
首先,我们在做负载均衡实验之前,要了解什么是负载均衡,以及搭建负载均衡的作用。负载均衡,简称CLB,它的作用是将大量并发访问或数据流量分担到多台节点设备上分别处理,从而有效保证每个请求都能够得到最快处理。负载均衡的轮询方式有三种,即加权轮询、加权最小连接数和IPhash,三者的区别又有什么呢?
加权轮询是根据服务器性能的好坏来分配权值,从而决定服务器处理的请求数,服务器性能越高,分配给它的权值越高,那它处理的请求数越多。而加权最小连接数相对而言就人性化一些,由于每个请求数的时间不一样,它通过服务器当前的活跃连接数来估计服务器处理的负载情况,再给后端服务器分配不同权值;简言之,它是先看连接数,再看权值。最后一种轮询方式IPhash,是一种源地址散列调度算法,它根据源地址作为散列值,从静态分配的散列值表里找出对应的服务器,若该服务器可用且没超载,则把请求发送给该服务器,交由它处理。三种轮询方式各有其优点。
常见的四层负载均衡软件有LVS,七层负载均衡软件有nginx和HAproxy。其中LVS有DR、NAT和Tunnel三种负载均衡方式。DR性能最好,能够连接的RS最多,这种模式要求所有的服务器包括LVS服务器IP同在一个网段,预留的IP会比较多,且公网IP收费成本高,所有的包都通过服务器组交换机转发,会增加服务器组交换机压力。相对而言,NAT性能最差,能够连接的RS和Tunnel模式都要少,且所有的数据包进出都要经过NAT,LVS容易成为整个系统的瓶颈。Tunnel性能好于NAT,低于DR,要求所有的RS都支持Tunnel模式。Tunnel模式支持跨地域的负载均衡。
上文提到的NAT是network address translation的缩写,翻译过来就是网络地址转换。常见的NAT有三种:静态NAT、动态NAT、动态PAT。我们来具体介绍这三种NAT。第一种,静态NAT是指内部网络的私有地址转换为共有IP地址时,IP地址是一对一的,是一成不变的,即某个私有IP地址只转换为某个共有IP地址。借助于静态NAT,可以实现外部网络对内部网络中某些特定设备的服务器。第二种,动态NAT是指将内部网络的私有IP地址转换为公网IP地址时,IP地址是不确定性的,随机的,所有被授权访问上的Internet的私有IP地址可随即转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算数量时,可以采用动态转换的方式。最后一种动态PAT则是端口地址转换,它采用端口多路复用方式,是指改变外出数据包的源端口并进行端口转换。目前网络中应用最多的就是端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源,与此同时,又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。这三种方式各有各的特点,适用于不同的应用场景。
那什么是nginx呢?nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3、IMAP协议。Nginx服务器的特性包括反向代理/L7负载均衡器、嵌入式Perl解析器、动态二进制升级等。
四层负载均衡和七层负载均衡的区别在于四层负载均衡依靠IP地址和端口号、负载均衡策略来完成数据通信工作。而七层负载均衡相比于四层负载均衡多了应用层的检查,它可以根据用户的URL或MIME头部来进行数据转发,因此,七层负载均衡能实现更高级的负载均衡策略。
在这个互联网时代,大众所使用的笔记本大多都是Windows操作系统,Windows操作系统与Linux有许多不同之处。众所周知,Windows操作系统下运行绝大部分软件,硬件厂商近乎100%的支持,而Linux操作系统下可以直接运行的软件数量少之又少,尤其在游戲软件数量上差别级大。再者,Windows操作系统放弃了dos的字符模式,主攻图形界面;而Linux操作系统正好相反,Linux操作系统在自负模式运行的更好,图形界面于它而言只是附带品。还有一个比较明显的区别,那就是Linux操作系统是开源的,而Windows操作系统是不开源的。知识是无尽的,只有自己悉心专研,才会感受到它的魅力之所在,才能有更深刻的体会,感受到它无穷的力量。
参考文献:
[1]张文波,王成,于三明.浅析Linux系统的网络安全策略和措施[J].吉林师范大学学报(自然科学版),2003,24(2):63-65.
[2]张伟杰.浅析Linux技术的发展[J].吉林建筑大学学报,2012, 29(2):73-75.endprint