首頁 後端開發 php教程 N年前Nginx負載平衡在新浪播客的應用

N年前Nginx負載平衡在新浪播客的應用

Jul 30, 2016 pm 01:31 PM
http interface proxy request video

2008年的新浪播客由靜態伺服器叢集和動態伺服器叢集兩部分組成,靜態伺服器叢集採用Squid做前端緩存,動態伺服器也稱為介面伺服器,主要用來實現顯示播放數,記錄播放日誌等等。
介面伺服器上採用F5 BIG-IP硬體四/七層負載平衡交換機,對4台Nginx反向代理伺服器進行四層負載平衡,由這四台nginx伺服器判斷URL,進行分組,對後端3組web伺服器進行七層負載平衡。
F5 BIG-IP後端的3組web伺服器,配置不一樣,第一組記憶體密集型,技術主要是PHP+Mencache服務; 第2組為CPU密集型服務,主要消耗CP資源;第三組為磁碟密集型,為記錄日誌等操作,要求大空間。
以下程式碼為介面伺服器Nginx負載平衡設定;

<code><span>/***代码是N年前新浪接口服务器的nginx负载均衡配置,提供按URL分组服务,负载均衡服务***/</span>usr www www;
worker_processes <span>10</span>;
error_log /data1/logs/nginx_error.log crit;
pid   /tmp/nginx.pid
worker_rlimt_nofile <span>51200</span>;

events
{
    <span>use</span><span>epull</span>;

    worker_connections <span>51200</span>;
}

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

    charset gb2312;

    server_name_hash_bucket_size <span>128</span>;

    keeplaive_timeout <span>15</span>;

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

    <span>location</span> / {</span>
    proxy_redirect off;

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

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

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

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

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

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

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

#代理请求缓存区,保存用户的头信息以供<span>Nginx</span>进行规则处理
<span>proxy_buffer_size</span>  8<span>k</span>;
<span>proxy_buffers</span>   4  32<span>k</span>;
<span>proxy_busy_buffers_size</span>  64<span>k</span>;
<span>proxy_temp_file_write_size</span> 64<span>k</span>;
}
}</span></code>
登入後複製

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

以上就介紹了N年前Nginx負載平衡在新浪播客中的應用,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

http狀態碼520是什麼意思 http狀態碼520是什麼意思 Oct 13, 2023 pm 03:11 PM

http狀態碼520是什麼意思

摩托羅拉 Razr 50 Ultra 出現在洩露的預告視頻中,配有防水外殼和巨大的副顯示屏 摩托羅拉 Razr 50 Ultra 出現在洩露的預告視頻中,配有防水外殼和巨大的副顯示屏 Jun 20, 2024 pm 09:31 PM

摩托羅拉 Razr 50 Ultra 出現在洩露的預告視頻中,配有防水外殼和巨大的副顯示屏

瞭解網頁重定向的常見應用場景並了解HTTP301狀態碼 瞭解網頁重定向的常見應用場景並了解HTTP301狀態碼 Feb 18, 2024 pm 08:41 PM

瞭解網頁重定向的常見應用場景並了解HTTP301狀態碼

如何使用Nginx Proxy Manager實現多台伺服器的負載平衡 如何使用Nginx Proxy Manager實現多台伺服器的負載平衡 Sep 27, 2023 pm 09:42 PM

如何使用Nginx Proxy Manager實現多台伺服器的負載平衡

如何使用Nginx Proxy Manager實現快速快取HTML頁面 如何使用Nginx Proxy Manager實現快速快取HTML頁面 Sep 28, 2023 am 10:58 AM

如何使用Nginx Proxy Manager實現快速快取HTML頁面

PHP中的Request物件是什麼? PHP中的Request物件是什麼? Feb 27, 2024 pm 09:06 PM

PHP中的Request物件是什麼?

http狀態碼403是什麼 http狀態碼403是什麼 Oct 07, 2023 pm 02:04 PM

http狀態碼403是什麼

http請求415錯誤解決方法 http請求415錯誤解決方法 Nov 14, 2023 am 10:49 AM

http請求415錯誤解決方法

See all articles