Nginx和Nginx+的比较(上)

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

一、Nginx+介绍

Nginx和Nginx+都是Nginx官方的产品,两者的不同之处在于Nginx是开源的社区版,而Nginx+则是Nginx面向企业级的收费版。

Nginx+收费情况如下:对于单实例部署,每年缴费1900美元;而对于多实例的部署,则需要联系Nginx官方来协商报价。

Nginx+也提供了30天的免费试用,到期后仍需交费。

Nginx+只以二进制发行版提供,不提供源码。

Nginx+在Nginx开源社区版的基础上,增加了企业级的特性,比如:

  • 全功能的HTTP和TCP负载均衡
  • 高性能的反向代理
  • 静态内容和动态内容的缓存和卸载
  • 自适应流媒体教父音视频内容到任意设备
  • 对应用敏感的健康检查和高可用性
  • 提供仪表板或API方式的高级活动监控
  • 高级监控和管理,提供对开发者友好的工具来管理和实时的变更
  • 会话持久性
  • 咨询服务

二、Nginx和Nginx+的比较

Nginx+具有一些Nginx社区版不具备的特性,包括:

1、高级HTTP和TCP负载均衡

在负载均衡算法方面,Nginx+增加了“最少时间”(Least Time)的负载均衡算法。“最少时间”算法即请求被分发到拥有最快响应时间和最少活动连接的服务器节点。

2、会话持久性

HTTP是一个无状态协议,故通常很多应用程序在本地存储终端的状态,而没法在负载均衡环境中共享状态。因为在服务器节点间实现客户端的状态共享意味着速度很慢,实现也很麻烦,故最常见的做法是把同一个终端负载均衡到同一个节点,那么就无需在各节点间共享和同步其状态信息了。

Nginx+可以跟踪用户的会话,将终端用户的请求分发给正确的upstream服务器节点。Nginx+提供了三种方法来识别用户的会话:

  • 插入跟踪信息到请求数据中

采用sticky cookie指令:

upstream backend {
server webserver1;
server webserver2; sticky cookie srv_id expires=1h domain=.example.com path=/;
}
  • 在会话中检测请求

采用sticky learn指令:

upstream backend {
server webserver1;
server webserver2; sticky learn create=$upstream_cookie_sessionid
lookup=$cookie_sessionid
zone=client_sessions:1m
timeout=1h;
}
  • 跟踪请求中的特定数据

采用sticky route指令:

upstream backend {
server webserver1 route=a;
server webserver2 route=b; # $var1 and $var2 are run-time variables, calculated for each request
sticky route $var1 $var2;
}

http://blog.csdn.net/chszs/article/details/50439078

Nginx和Nginx+的比较(上)的更多相关文章

  1. Flask+Nginx+uWSGI在Ubuntu服务器上的配置

    Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...

  2. 基于nginx和uWSGI在Ubuntu上部署Djan

    http://www.jianshu.com/p/e6ff4a28ab5a 文/Gevin(简书作者)原文链接:http://www.jianshu.com/p/e6ff4a28ab5a著作权归作者所 ...

  3. nginx 流媒体 flv 播放 以及上传大小 配置文件设置

    nginx 流媒体 flv 播放 以及上传大小 配置文件设置   server {listen 80;server_name localhost;root /www/web/default;index ...

  4. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...

  5. nginx——绑定 Nginx 进程到不同的 CPU 上

    为什么要绑定 Nginx 进程到不同的 CPU 上 :默认情况下,Nginx 的多个进程有可能跑在某一个 CPU 或 CPU 的某一核上,导致 Nginx 进程使用硬件的资源不均,因此绑定 Nginx ...

  6. [PHP]Nginx与PHP的文件上传大小限制

    ---------------------------------------------------------------------------------------------------- ...

  7. MacOS下Rails+Nginx+SSL环境的搭建(上)

    这里把主要的步骤写下来,反正我是走了不少弯路,希望由此需求的朋友们别再走类似的弯路.虽说环境是在MacOS下搭建,但是基本上和linux下的很相像,大家可以举一反三. 一.安装Rails 这个是最简单 ...

  8. 通过nginx 访问 centos 7 服务器上的.Net Core

    先安装依赖 # yum -y install pcre-devel openssl openssl-devel # yum -y install gcc gcc-c++ autoconf automa ...

  9. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

随机推荐

  1. DRBD脑裂解决方法

    1.查看主服务器 [root@master ~]# /etc/init.d/drbd status drbd driver loaded OK; device status: version: (ap ...

  2. oracle group by 使用

    SELECT supplier_id, max(evidence_date) AS evidence_date,max(TD_SUPPLIER_EVIDENCE_INFO_ID) AS TD_SUPP ...

  3. 模拟app上商品详情点击图片放大并且可以切换大图

    主要使用swiper插件,这里使用各小技巧,就是用两个swiper容器,点击一个小图容器,去让大图容器展示出来 小图容器 <div class="q_banner"> ...

  4. 判断mysqli函数里的sql语句是否有错和影响行数

    <?php $mysqli=@new mysqli("localhost", "root", "123456", "xsph ...

  5. doT.js 模板引擎的使用

    dot.js是一个模板框架,在web前端使用. dot.js作为模板引擎, 主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码. 这是很简单的web前端模板框架, 简单说几个东西,你 ...

  6. MAC OS X 快捷键(自己总结)

    command+space 可以切换键盘输入法:长按可进入输入法列表,并在多个输入法之间切换,输入法列表会根据你最近使用过的输入法自动调整排序. HID:00 00 91 00 00 00 00 00 ...

  7. haproxy hdr_beg 配置

    v-dev-app01:/root# ping www.zjdev.com PING www.zjdev.com (192.168.32.16) 56(84) bytes of data. 64 by ...

  8. CC++初学者编程教程(5) 安装codeblocks软件开发环境

    Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件.Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库w ...

  9. Silk Mobile – 缩短移动应用的测试周期

    Micro Focus已将从Borland接管的Silk Mobile™投放到市场,作为一种新的强大的移动应用测试解决方案,它将使企业能够开发出更先进更可靠的移动商业软件. 作为市场上最完整的移动应用 ...

  10. 使用过渡场景在多个场景的切换COCOS2D(4)

    CCNode有三个方法,使用CCDirector的replaceScene方法替换场景时,每个节点都会调用这三个方法: onEnter与onExit方法在改变场景过程中的特定时刻被调用,这取决于是否使 ...