什么是负载均衡?
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外供应效力而无须其他服务器的辅助。经过某种负载分管技术,将外部发送来的央求均匀分配到对称结构中的某一台服务器上,而接收到央求的服务器独登时回应客户的央求。均衡负载可以平均分配客户央求到服务器列阵,籍此供应快速获取重要数据,解决很多并发访问效力问题。这种群集技术可以用最少的出资取得接近于大型主机的性能。
大数据高并发使用负载均衡理念的原因?
服务器负载均衡
网络的负载均衡是一种动态均衡技术,经过一些东西实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。
计算集中型的运用,比如电子商务网站,服务器计算负荷会很大;读写频繁的运用,比如网络数据库,存储系统则面临着检测;传输量大的运用,比如视频效力,数据总是无法快速传送,无法完结最好的效果;访问量大的运用,路由器与防火墙简略成为瓶颈。想要合理解决这些问题,晋级设备、改动拓扑是”笨办法”,相对巧妙的方法是选用负载均衡技术,用多个设备一起完结任务。
负载均衡技术根据现有网络结构,供应了一种扩展服务器带宽和增加服务器吞吐量的廉价有用的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。负载均衡的运用,可以有用地解决网络拥塞问题,可以就近供应效力,完结地理位置无关性(异地负载均衡)。同时,这项技术还能提高服务器的响应速度,提高服务器及其他资源的利用效率,防止网络关键部位呈现单点失效,然后为用户供应更好的访问质量。
服务器负载均衡具有高智能化高可靠性高可用性的特点!!!!!!!!!
(举例:信息并发率特别高,如果没有合理分配处理信息,可能出现1号服务器已经烧掉2号还闲着的情况。)
怎样实现负载均衡?
多台服务器相互建立连接,成本更贵,如果信息并发率不高的话建议不采用负载均衡!!
一、lvs的优势:
1.抗负载能力强,因为lvs工作方式的逻辑是非常简单的,而且工作在网络的第4层,仅作请求分发用,没有流量,所以在效率上基本不需要太过考虑。lvs一般很少出现故障,即使出现故障一般也是其他地方(如内存、CPU等)出现问题导致lvs出现问题。
2.配置性低,这通常是一大劣势同时也是一大优势,因为没有太多的可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。
3.工作稳定,因为其本身抗负载能力很强,所以稳定性高也是顺理成章的事,另外各种lvs都有完整的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,lvs会自动判别,所以系统整体是非常稳定的。
4.无流量,lvs仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之用。没有流量同时也保住了均衡器的IO性能不会受到大流量的影响。
5.lvs基本上能支持所有应用,因为lvs工作在第4层,所以它可以对几乎所有应用做负载均衡,包括http、数据库、聊天室等。
二、nginx和lvs作对比的:
1.nginx工作在网络的第7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等,相比之下lvs并不具备这样的功能,所以nginx单凭这点可以利用的场合就远多于lvs了;但nginx有用的这些功能使其可调整度要高于lvs,所以经常要去触碰,由lvs的第2条优点来看,触碰多了,人为出现问题的几率也就会大。
2.nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通,nginx同时还能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;lvs就比较依赖于网络环境,目前来看服务器在同一网段内并且lvs使用direct方式分流,效果较能得到保证。另外注意,lvs需要向托管商至少申请多于一个ip来做visual ip。
3.nginx安装和配置比较简单,测试起来也很方便,因为它基本能把错误用日志打印出来。lvs的安装和配置、测试就要花比较长的时间,因为同上所述,lvs对网络依赖性比较大,很多时候不能配置成功都是因为网络问题而不是配置问题,出了问题要解决也相应的会麻烦的多。
4.nginx也同样能承受很高负载且稳定,但负载度和稳定度差lvs还有几个等级:nginx处理所有流量所以受限于机器IO和配置;本身的bug也还是难以避免的;nginx没有现成的双机热备方案,所以跑在单机上还是风险比较大,单机上的事情全都很难说。
5.nginx可以检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点。目前lvs中ldirectd也能支持针对服务器内部的情况来监控,但lvs的原理使其不能重发请求。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,nginx会把上传切到另一台服务器重新处理,而lvs就直接断掉了。