N年前Nginx负载均衡在新浪播客中的应用

2008年的新浪播客由静态服务器集群和动态服务器集群两部分组成,静态服务器集群采用Squid做前端缓存,动态服务器也称接口服务器,主要用来实现显示播放数,记录播放日志等等。

接口服务器上采用F5 BIG-IP硬件四/七层负载均衡交换机,对4台Nginx反向代理服务器进行四层负载均衡,由这四台nginx服务器判断 URL,进行分组,对后端3组web服务器进行七层负载均衡。

F5 BIG-IP后端的3组web服务器,配置不一样,第一组内存密集型,技术主要是PHP+Mencache服务; 第2组为 CPU密集型服务,主要消耗CP资源;第三组为磁盘密集型,为记录日志等操作,要求大空间。

以下代码是接口服务器Nginx负载均衡配置;

/***代码是N年前新浪接口服务器的nginx负载均衡配置,提供按URL分组服务,负载均衡服务***/

usr www www;
worker_processes 10;
error_log /data1/logs/nginx_error.log crit;
pid   /tmp/nginx.pid
worker_rlimt_nofile 51200;

events
{
    use epull;

    worker_connections 51200;
}

http
{
    include  conf/mine.types;
    default_type application/octet-stream;

    charset gb2312;

    server_name_hash_bucket_size 128;

    keeplaive_timeout 15;

    sendfile on;
    tcp_mopush on;
    tcp_nodelay on;
    #第一组接口机:Memcache相关(点击数)
    upstream count.interface.video.sian.com.cn{
        server xx.xx.xx.55:80;
        server xx.xx.xx.58:80;
        server xx.xx.xx.47:80;
    }
    #第二组接口机:提供数据类程序
    upstream data.interface.video.sian.com.cn{
        server xx.xx.xx.59:80;
        server xx.xx.xx.64:80;
        server xx.xx.xx.48:80;
    }
    #第三组接口机:打日志类程序,功能相关,嵌套页面
    upstream log.interface.video.sian.com.cn{
        server xx.xx.xx.72:80;
        server xx.xx.xx.49:80;
    }
}
server
{
    listen 80;
    server_name interface.video.sian.com.cn;

    location / {
    proxy_redirect off;

    #后端的web服务器可以直接通过X-Forward-For 获取用户真实ip
    proxy_set_header X-Forward-For $remote_adr;

    #按URL进行分组,第一组:Memcache相关(点击数)
    if ($request_uri ~ "^\/app\/count\/")
    {
        proxy_pass http://count.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/app\/online\/")
    {
        proxy_pass http://count.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/user\/getLoginGap.php")
    {
        proxy_pass http://count.interface.video.sian.com.cn;
    }
    #按URL进行分组,第二组:外部提供数据类程序
    if ($request_uri ~ "^\/crossdomain.xml")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/client\/topVideoClient.php")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/common\/")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/randplay\/randplay.php")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/topic\/suggTop.php")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/uploadClient\/")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/xml\/")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/outinterface\/")
    {
        proxy_pass http://data.interface.video.sian.com.cn;
    }
    #按URL进行分组,第三组:打日志类程序
    if ($request_uri ~ "^\/interface\/flash\/")
    {
        proxy_pass http://log.interface.video.sian.com.cn;
    }
    if ($request_uri ~ "^\/interface\/playrank\/playrank2008_10.php")
    {
        proxy_pass http://log.interface.video.sian.com.cn;
    }
    #按URL进行分组,其他组:功能相关,嵌套页面等未匹配到的URL
    proxy_pass  http://log.interface.video.sina.com.cn;
}
#定义日至格式
log_format count ‘$remote_addr - $remote_user [$time_local] $request‘
    ‘"$status" $body_bytes_sent "$http_referer"‘
    ‘"$http_user_agent"   "$http_x_forwarded_for"‘;
#打日志
access_log /data1/logs/interface.log count;

#允许客户端请求的最大单文件字节数
client_max_body_size 10m;

#缓冲区代理缓冲用户端的最大字节数 可以理解为现存到本地再传给用户
client_body_size 128k;

#跟后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_time 600;

#连接成功后_等待后端服务器响应时间_其实已经进入后端的派对等候处理
proxy_read_timeout  600;

#后端回传时间_规定时间内传完所有数据
proxy_send_timeout  600;

#代理请求缓存区,保存用户的头信息以供Nginx进行规则处理
proxy_buffer_size  8k;
proxy_buffers   4  32k;
proxy_busy_buffers_size  64k;
proxy_temp_file_write_size 64k;
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 00:20:57

N年前Nginx负载均衡在新浪播客中的应用的相关文章

N年前Nginx 负载均衡在金山逍遥网中的应用

在金山逍遥网中,前端负载均衡服务器采用的是Nginx,两台Nginx服务器为一组,承担多种类型的负载均衡服务,两台负载均衡服务器均处于活动状态,各自绑定一个公网虚拟IP,作为负载均衡服务器,当其中一个发生故障时,另一台接管发生故障服务器的虚拟IP.配置nginx.conf代码如下 代码: user www www; work_processes 8; error_log /data1/logs/nginx_error.log crit; pid /usr/local/webserver/ngin

nginx负载均衡?

本文目录 1 什么是负载均衡? 2 HTTP重定向实现负载均衡 3 DNS负载均衡 4 反向代理负载均衡 5 负载均衡组件 回到目录 1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理. 那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,

python网络爬虫 新浪博客篇

上次写了一个爬世纪佳缘的爬虫之后,今天再接再厉又写了一个新浪博客的爬虫.写完之后,我想了一会儿,要不要在博客园里面写个帖子记录一下,因为我觉得这份代码的含金量确实太低,有点炒冷饭的嫌疑,就是把上次的代码精简了一下,用在另外一个网站而已,而且爬别人的博客总有一种做贼心虚的感觉,怕被各位园友认为是偷窥狂魔.但是这份代码总归是我花了精力去写的,我也不想就此让它深藏在硬盘之中(电脑实在太老了,可能过两年硬盘坏了,这份代码就消失了),还是贴出来权当作抛砖引玉. 说起要爬新浪博客,总归是有一个原因吧.我的原

Nginx负载均衡集群介绍

第1章 集群介绍 1.1 集群简介 1.1.1 什么是集群 简单说,集群就是一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理.当用户客户机请求集群系统时,集群给用户的感觉就是一台服务器干一件事. 1.2 集群的优势特点 高性能(performance) 一些国家重要的计算密集型应用(如天气预报,核试验模拟等

Nginx 负载均衡反向代理

一.集群介绍以及常用集群硬件知识介绍及选型 1.负载均衡以及高可用集群的作用1).负载均衡集群的作用:a.分担用户访问请求及数据流量(负载均衡)b.保持业务连续性,即 7x24 小时服务(高可用性)c.应用于 web 业务及数据库从库等服务器的业务.负载均衡集群典型的开源软件:LVS.Nginx.Haproxy2).高可用集群的作用:a.当一台机器宕机时,另外一台机器接管宕机的机器的 IP 资源和服务资源,提供服务.b.常用于不易实现负载均衡的应用,比如负载均衡器,主数据库.主存储对之间.高可用

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

nginx负载均衡

nginx负载均衡 Nginx负载均衡的理解 Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为http服务器(和apache的效果一样) 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能.使用配置简.开源单这些特点被越来越多的用户所接受,所使用. 其中第一种作为http服务器,结合php-fpm进程,对发来的请求进行处理,nginx本身并不会解析php,他只是作为一个服务器

Nginx 负载均衡

原文地址:http://nginx.com/resources/admin-guide/load-balancer/ Nginx Load Balancing nginx 负载均衡 This section describes how to use NGINX and NGINX Plus as a load balancer. 本章将讨论如何使用Nginx和Nginx加做负载均衡器. In This Section 本章包括 Load balancing overview 负载均衡概览 Pro

Nginx 负载均衡-加权轮询策略剖析

本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理).如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服务器运行,如果后端服务器有多台,如何选择一台合适的后端服务器来处理当前请求,就是本文要说的负载均衡.这两种均衡互不冲突并且能同时生效. nginx不