首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

关于ngixn中upstream机制的考虑

2013-01-26 
关于ngixn中upstream机制的思考网上搜过upstream相关分析的同学可能都已经有了大概的了解了,而且很多大牛

关于ngixn中upstream机制的思考
网上搜过upstream相关分析的同学可能都已经有了大概的了解了,而且很多大牛分析的也很棒,我这里为什么还要多说几句呢?一来是总结自己的一些理解,二来是对前辈分析的一些补充,希望能带给大家更多启发。
先给出阿里技术牛们的总结和分析,供大家参考:
http://tengine.taobao.org/book/chapter_05.html

http://www.pagefault.info/?p=251

看nginx官方wiki给出的配置例子(稍作修改):

关于用法,描述的很明确。再看一些相应的代码:

static ngx_conf_bitmask_t ngx_http_proxy_next_upstream_masks[] = {    { ngx_string("error"), NGX_HTTP_UPSTREAM_FT_ERROR },    { ngx_string("timeout"), NGX_HTTP_UPSTREAM_FT_TIMEOUT },    { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER },    { ngx_string("http_500"), NGX_HTTP_UPSTREAM_FT_HTTP_500 },    { ngx_string("http_502"), NGX_HTTP_UPSTREAM_FT_HTTP_502 },    { ngx_string("http_503"), NGX_HTTP_UPSTREAM_FT_HTTP_503 },    { ngx_string("http_504"), NGX_HTTP_UPSTREAM_FT_HTTP_504 },    { ngx_string("http_404"), NGX_HTTP_UPSTREAM_FT_HTTP_404 },    { ngx_string("updating"), NGX_HTTP_UPSTREAM_FT_UPDATING },    { ngx_string("off"), NGX_HTTP_UPSTREAM_FT_OFF },    { ngx_null_string, 0 }};
上述的信息告诉我们proxy模块中支持的特殊响应码处理有哪些,当然fastcgi和memcache等这些用到upstream的模块都有类似的数组。对于proxy_next_upstream指令配置中的给出的http_xxx,意思是让nginx在后端返回这些响应时,去尝试其他的后端(函数ngx_http_upstream_test_next)。当然nginx原生支持的就这些,如果大家有自己的需求,可以尝试去改这块代码。不过个人的建议是,改nginx的核心代码要慎重。

热点排行