Nginx和Nginx+的比较(上)
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+的比较(上)的更多相关文章
- Flask+Nginx+uWSGI在Ubuntu服务器上的配置
Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...
- 基于nginx和uWSGI在Ubuntu上部署Djan
http://www.jianshu.com/p/e6ff4a28ab5a 文/Gevin(简书作者)原文链接:http://www.jianshu.com/p/e6ff4a28ab5a著作权归作者所 ...
- nginx 流媒体 flv 播放 以及上传大小 配置文件设置
nginx 流媒体 flv 播放 以及上传大小 配置文件设置 server {listen 80;server_name localhost;root /www/web/default;index ...
- 使用Nginx在windows和linux上搭建集群
Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...
- nginx——绑定 Nginx 进程到不同的 CPU 上
为什么要绑定 Nginx 进程到不同的 CPU 上 :默认情况下,Nginx 的多个进程有可能跑在某一个 CPU 或 CPU 的某一核上,导致 Nginx 进程使用硬件的资源不均,因此绑定 Nginx ...
- [PHP]Nginx与PHP的文件上传大小限制
---------------------------------------------------------------------------------------------------- ...
- MacOS下Rails+Nginx+SSL环境的搭建(上)
这里把主要的步骤写下来,反正我是走了不少弯路,希望由此需求的朋友们别再走类似的弯路.虽说环境是在MacOS下搭建,但是基本上和linux下的很相像,大家可以举一反三. 一.安装Rails 这个是最简单 ...
- 通过nginx 访问 centos 7 服务器上的.Net Core
先安装依赖 # yum -y install pcre-devel openssl openssl-devel # yum -y install gcc gcc-c++ autoconf automa ...
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
随机推荐
- OpenGL鼠标旋转图像
(鼠标旋转功能) #include <iostream> using namespace std; #include<gl/glut.h> GLfloat transx,tra ...
- java整体集合框架
1.关于集合的两道面试题 先来看几道题目: 1.创建一个不可变的的集合: public static void main(String[] args) { Set<String> set ...
- MySQL 有输入输出参数的存储过程实例
1.MySQL 有输入输出参数的存储过程实例 DELIMITER // DROP PROCEDURE IF EXISTS `test`.`p_getvalue` // CREATE PROCEDURE ...
- python---连接MySQL第二页
用python向MySQL插入值.并取出被插入行的主键. #!/usr/bin/python #!coding:utf-8 import mysql.connector from mysql.conn ...
- Spring中常用的hql查询方法(getHibernateTemplate())
一.find(String queryString); 示例:getHibernateTemplate().find("from bean.User"); 返回所有User对象 二 ...
- 960 grid 分析
960 网格系统的构造如下:页面总宽度 960px12 栏布局, 每栏 60px每栏两边保留 10px 的外边距, 相当于 20px 的槽内容区域总宽度是 940px 960 布局无疑是非常好的网格系 ...
- rem布局
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS7.0中UILabel高度调整注意事项(转)
注释:原文链接丢失. 我的“记词助手”在升级到iOS7之后,一直出现UILabel错位的问题: 我的label是用- (CGSize)sizeWithFont:(UIFont *)font const ...
- 循环对XML文档添加Attribute以及移除Element 【转】
如下面的图片要求,需要把左边的xml文改为右边的文档. 需要添加Attribute,移除Element,但是所添加的Attribute值已经跟被移除的Element值不相同.实现方法可以参考<对 ...
- 实现Android语音识别服务接口 RecognitionService的方法
之前的一篇文章介绍过SpeechRecognizer类,该类能够作为对外的一个接口,并通过Intent传递一个ComponentName获取可支持语音识别的功能的服务,一般的用户手机中假设安装了语音识 ...