加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

负载平衡层计划方案之负载平衡技能总结篇

发布时间:2019-10-03 02:58:37 所属栏目:建站 来源:Java高级互联网架构
导读:1、概述 通过前面文章的先容,并不能包围负载平衡层的全部技能,可是可以作为一个引子,汇报列位读者一个进修和行使负载平衡技能的思绪。固然后头我们将转向营业层和营业通讯层的先容,可是对负载平衡层的先容也不会遏制。在后续的时刻我们将穿插举办负载

#开启gzip压缩处事, gzip on;#gzip压缩是要申请姑且内存空间的,假设条件是压缩后巨细是小于便是压缩前的。譬喻,假如原始文件巨细为10K,那么它高出了8K,以是分派的内存是8 * 2 = 16K;再譬喻,原始文件巨细为18K,很明明16K也是不足的,那么凭证 8 * 2 * 2 = 32K的巨细申请内存。假如没有配置,默认值是申请跟原始数据沟通巨细的内存空间去存储gzip压缩功效。 gzip_buffers 2 8k;#举办压缩的原始文件的最小巨细值,也就是说假如原始文件小于5K,那么就不会举办压缩了 gzip_min_length 5K;#gzip压缩基于的http协议版本,默认就是HTTP 1.1 gzip_http_version 1.1;# gzip压缩级别1-9,级别越高压缩率越大,压缩时刻也就越长CPU越高 gzip_comp_level 5;#必要举办gzip压缩的Content-Type的Header的范例。提议js、text、css、xml、json都要举办压缩;图片就没须要了,gif、jpge文件已经压缩得很好了,就算再压,结果也欠好,并且还淹灭cpu。 gzip_types text/HTML text/plain application/x-javascript text/css application/xml;

http返回数据举办压缩的成果在许多场景下都适用:

a、 假如赏识器行使的是3G/4G收集,那么流量对付用户来说就是money。

b、 压缩可节省处事器机房的对外带宽,为更多用户处事。凭证今朝的市场价精采的机房带宽资源的一样平常在200RMB/Mbps,而处事器方案的压力每每也来自于机房带宽。

c、 不是Nginx开启了gzip成果,HTTP相应的数据就必然会被压缩,除了满意Nginx配置的“必要压缩的http名目”以外,客户端(赏识器)也必要支持gzip(否则它怎么解压呢),一个好动静是,今朝大大都赏识器和API都支持http压缩。

  • Nginx中的rewrite(重写)技能

Nginx的强盛在于其对URL哀求的重写(重定位)。Nginx的rewrite成果依靠于PCRE Lib,请必然在Nginx编译安装时,安装Pcre lib。

下面是一段rewrite的示例:

  1. #示例1:location ~* ^/(.+)/(.+).(jpg|gif|png|jpeg)$ { 
  2.  rewrite ^/orderinfo/(.+).(jpg|gif|png|jpeg)$ /img/$1.$2 break; 
  3.  root /cephclient; 
  4. }#location在不举办巨细写区分的环境下操作正则表达式对$url举办匹配。当匹配乐成后举办rewrite重定位。#rewrite举办重写url的法则是:regex表达式第一个括号中的内容对应$1,regex表达式第二个括号中的内容对应$2,以此类推。#这样重定位的意义就很明晰了:将任何目次下的文件名重定位到img目次下的对应文件名,#而且顿时在这个location中(留意是Nginx,而不是客户端)执行这个重写后的URL定位。#示例2:server { 
  5.  。。。。 
  6.  。。。。 
  7.  location ~* ^/orderinfo/(.+).(jpg|gif|png|jpeg)$ { 
  8.  rewrite ^/orderinfo/(.+).(.+)$ /img/$1.$2 last; 
  9.  } 
  10.  location / { 
  11.  root /cephclient; 
  12.  } 
  13. }#在server中,有两个location位置,当url必要会见orderinfo目次下的某一个图片时,rewrite将重写这个url,#而且从头带入这个url到server执行,这样“location /”这个location就会执行了,并找到图片存储的目次。 
  • Nginx的图片处理赏罚模块

http_image_filter_module 是nginx的图片处理赏罚模块,是行使nginx举办静态资源和动态资源分创打点的要害引用技能。通过这个模块可以对静态资源举办缩放、旋转、验证。

必要留意的是,http_image_filter_module模块所处理赏罚的缩率图片是不举办生涯的,完全行使节点的CPU机能举办计较,行使节点的内存举办姑且存储。以是假如要行使http_image_filter_module举办图片处理赏罚,必然要按照客户端的哀求局限举办nginx节点的调解。而且当站点的PV到达必然的局限时,必然要行使CDN技能举办会见加快、对图片的会见处理赏罚本领举办筹划。

因为我们在之前涉及Nginx的文章中,并没有具体讲授Nginx的图片处理赏罚模块,只是说了要举办先容,以是这里我给出一个较为具体的安装和设置示例:

nginx的http_image_filter_module模块由GD library举办支持,以是要行使这个图片处理赏罚模块,就必需举办第三方依靠包的安装:

  1. yum install gd-devel 

然后,Nginx要举办从头编译:

  1. configure --with-http_image_filter_modulemake && make install 

行使图片处理赏罚模块的设置示例:

  1. location ~* /(.+)_(d+)_(d+).(jpg|gif|png|ioc|jpeg)$ { set $h $3; set $w $2; 
  2.  rewrite /(.+)_(d+)_(d+).(jpg|gif|png|ioc|jpeg)$ /$1.$4 break; 
  3.  image_filter resize $w $h; 
  4.  image_filter_buffer 2M; 

个中关于正则表达式的语法和已经先容过的rewrite的语法就不再举办先容了,首要看http_image_filter_module相干的属性配置:

  1. image_filter test:测试图片文件正当性 
  2. image_filter rotate:举办图片旋转,只能凭证90 | 180 | 270举办旋转 
  3. image_filter size:返回图片的JSON数据 
  4. image_filter resize width height:按比例举办图片的等比例缩小,留意,是只能缩小,第二缩小是等比例的。 
  5. image_filter_buffer:限定图片最大读取巨细,没有配置就是1M;按照差异的体系最好配置为2M—3M 
  6. image_filter_jpeg_quality:配置jpeg图片的压缩比例(1-99,越高越好) 
  7. image_filter_transparency:禁用gif和png图片的透明度。 
  • 和Nginx相同的其他技能/软件

今朝行业内也有许多与Nginx办理同类题目的软件,他们别离是Apache基金会的 Apache HTTP Server、淘宝开源的Tengine、Haproxy、包罗Windows 下运行的IIS,也支持反向署理 。

这里笔者再次重点提到Tengine,提议列位读者偶然刻的时辰可以行使一下,这个对Nginx举办了深度再开拓的软件。

3-2、LVS技能

LVS是Linux Virtual Server的简写,意即Linux假造处事器,是一个假造的处事器集群体系。本项目在1998年5月由章文嵩博士创立。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读