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. C++中内存分配详解

    转载自51CTO.com           http://developer.51cto.com/art/201107/276154.htm 我们都知道,内存基本上分为静态存储区.堆区和栈区三大部分 ...

  2. Servlet 浅谈(二)

    如何获取初始化参数 容器在初始化的时候,会为了这个Servlet创建一个唯一的ServletConfig,容器会从DD读出Servlet的初始化参数,并把这个参数交给ServletConfig,然后S ...

  3. 封装jQuery插件的步骤

    引语:jQuery提供了很多插件,我们在开发的过程使用插件能节省时间简化开发也避免从头开始编写每个组件,单我们除了懂得使用别人已编写好的插件以外,也到懂得如何封装属于我们自己的插件,以下就是封装jQu ...

  4. Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理

    所谓链式运动,就是一环扣一环.我们的很多运动实际上来说指的就是分阶段的,第一个阶段动完,下个阶段开始动. 这个链式运动框架就是用来处理这些问题的. 我们先来看下之前的运动框架,以下是Javascrip ...

  5. Python之路第五天,基础(5)-序列化和字符串格式化

    序列化 Python中用于序列化的两个模块 json 用于『字符串』和『python基本数据类型』间进行转换 pickle 用于『python特有的类型』和『python基本数据类型』间进行转换 js ...

  6. JSONObject和JSONArray

    点击下载json工具 点击下载支持jar包 1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 ( ...

  7. js题

    function newStr(){ return "hi";}function turn(str){ str.toString = newStr;}var str1 = &quo ...

  8. 探究android控件及布局

    控件(widget) 1. TextView(该控件的一些需要注意的属性,下同) gravity="center"textSize="24sp"textColo ...

  9. aix installp软件包管理工具

    软件可以安装成两种状态:applied和committed.Applied状态保存了原来以前版本的软件,它把以前版本存储在/usr/lpp/PackageName目录下.这种方式可以回滚到以前的软件版 ...

  10. HTML5 元素拖放

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...