五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

圖片服務(wù)器博客

發(fā)布日期:2019-01-05 17:26 | 文章來源:網(wǎng)絡(luò)

抓取圖片

09年初的時(shí)候,百度阿拉丁計(jì)劃展現(xiàn)更多的圖片.這些圖片一般較小,適合在搜索頁面中展現(xiàn).這些圖片一般來自百度的合作方,合作方提供的圖片是多種多樣的,格式大小各不相同.為了能讓這些圖片在百度頁面中合適的展現(xiàn),必須對圖片做一定的裁剪.

考慮到以上種種問題,直接使用合作方的圖片是不行的,必須做一個(gè)專用的圖片服務(wù),來滿足以上種種需求.

當(dāng)我們著手設(shè)計(jì)這個(gè)產(chǎn)品時(shí),首要的一條就是簡單,盡可能的復(fù)用已有的東西.瀏覽器支持的是http協(xié)議.因?yàn)楫a(chǎn)品使用的接口都是http協(xié)議,包括后臺的一些管理操作.

因?yàn)楫a(chǎn)品與瀏覽器的交互非常簡單,我們沒有必要開發(fā)一個(gè)單獨(dú)的http服務(wù)器,只需要選擇一個(gè)開源的服務(wù)器,如apache,light等,稍微修改一下就可以使用了.我們最后選擇的百度自己的網(wǎng)頁服務(wù)器.因?yàn)樗銐蚝唵?而且我們的開發(fā)人員對它也更熟悉.

接下來是圖像處理模塊.在百度內(nèi)部有相當(dāng)多的產(chǎn)品線用到了圖像處理模塊.我們根據(jù)使用經(jīng)驗(yàn),選擇了一個(gè)較穩(wěn)定的Magic.

最后是cache.幾乎在所有的互聯(lián)網(wǎng)產(chǎn)品中,cache都是需要重點(diǎn)考慮的.在本文中尤其如此.圖片很小,意味著不大的內(nèi)存就可以存儲很多圖片;可以想見,圖片訪問的集中度會很高,這也是互聯(lián)網(wǎng)產(chǎn)品的一大特色.因此使用cache絕對劃算.在本文中,甚至所以的數(shù)據(jù)都是放在cache中的.這里我們使用了百度內(nèi)部的一個(gè)組件zcache.zcache是一個(gè)分布式的cache服務(wù).它同時(shí)使用了內(nèi)存和磁盤,用來存儲圖片數(shù)據(jù)是夠用的.

還有抓取,這里我們使用了非常流行的curl庫來完成抓取圖片的工作.

整體來看,我們就是在zcache服務(wù)上加了一個(gè)http協(xié)議的殼.使得zcache能夠通過http協(xié)議提供圖片服務(wù).結(jié)構(gòu)雖然簡單,但是效率卻很高.包括開發(fā)效率和性能.

以上的設(shè)計(jì)確有一個(gè)缺陷,這個(gè)缺陷在性能要求不高時(shí)還不太明顯,隨著流量越來越的.這個(gè)缺陷的問題就逐漸暴露出來.在以上設(shè)計(jì)中,zcache是一個(gè)性能好,延時(shí)短的服務(wù).這樣只要請求中cache,就能立刻返回;但是當(dāng)不中cache時(shí),需要去服務(wù)器上抓取圖片,再返回給瀏覽器.這種情況下,響應(yīng)就很慢.為了保證較慢的請求也能得到處理.我們設(shè)計(jì)了一個(gè)較長的隊(duì)列和多個(gè)抓取線程來處理抓取任務(wù).

把時(shí)延短的請求和時(shí)間長的請求在一個(gè)程序中處理,當(dāng)多個(gè)時(shí)延長的請求到達(dá)時(shí),會使得所有的抓取線程都處在工作狀態(tài),而擠占了中cache的線程的處理時(shí)間.導(dǎo)致所有的請求都被拖慢.

這種問題出現(xiàn)的另一個(gè)原因是多個(gè)抓取線程是同時(shí)工作的,而實(shí)際上抓取線程因?yàn)闆]有獲取到數(shù)據(jù),大部分時(shí)間在空轉(zhuǎn).

解決這個(gè)問題有兩種辦法.一是修改抓取的工作方式,改為dispatcher模式,統(tǒng)一管理所有的抓取socket,只有當(dāng)數(shù)據(jù)到來時(shí),才喚醒對應(yīng)的工作線程處理數(shù)據(jù);另一種是將抓取與cache徹底分離,使用單獨(dú)的服務(wù)專門處理抓取任務(wù).

考慮curl抓取在處理抓取邏輯上的不足,我們選擇將抓取獨(dú)立出來,使用獨(dú)立的模塊單獨(dú)負(fù)責(zé)抓取.

為了保證服務(wù)的穩(wěn)定性,我們部署了多套相同的cache服務(wù),避免cache單點(diǎn)問題.這種冗余服務(wù)在高穩(wěn)定性要求的服務(wù)部署方案中是大量存在的.多套相同的cache服務(wù),在查詢時(shí)只要在一個(gè)cache中查詢到數(shù)據(jù),即返回?cái)?shù)據(jù);在更新時(shí),需要將數(shù)據(jù)同時(shí)更新到多套cache中.在線上部署時(shí),共部署了兩套cache.

以上總結(jié)了一個(gè)小的產(chǎn)品在設(shè)計(jì)過程中的一些技術(shù)選型和修改的思路.希望能給大家一些幫助

本文首發(fā)于:搜索研發(fā)部官方博客stblog.baidu-tech.com/?p=385關(guān)注百度技術(shù)沙龍

Tags:抓取圖片,圖片服務(wù)器博客

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部