国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

通用圖床服務(wù)架構(gòu)解析(百萬級(jí)回源/天)

Karrdy / 1136人閱讀

摘要:轉(zhuǎn)發(fā)通過,將請求通過負(fù)載均衡,均衡給后端處理的服務(wù)。圖床同時(shí)也支持同步上傳回調(diào)通知的方式,將圖片上傳結(jié)果反饋給業(yè)務(wù)方。

Hulk 圖床是支持 360 公司絕大部分業(yè)務(wù)的圖片服務(wù),支持多種圖片處理功能,如:裁剪、壓縮、濾鏡、pHash 計(jì)算、人臉識(shí)別、格式轉(zhuǎn)換、gif 首幀提取……等等,支持的業(yè)務(wù)線包括:搜索、圖搜、新聞、信息流、廣告……等等,每天 CDN 回源圖床后端 150+ 億 PV。

圖床業(yè)務(wù)邏輯相對簡單,抽象看就是:上傳和下載,這里簡單分享圖床這兩個(gè)模塊的架構(gòu)以及圖片的上傳和下載時(shí)所經(jīng)歷的服務(wù)。

1. 上傳模塊(Davinci)


【Davinci 架構(gòu)圖】

業(yè)務(wù)上傳圖片到圖床邏輯大致如下:

SDK 上傳
通過 SDK (或者業(yè)務(wù)自己構(gòu)造 HTTP 請求)將圖片 POST 到 Davinci 上傳接口 ,接口域名解析的 VIP 均衡到后端 Nginx (80 端口)。

Nginx:80 轉(zhuǎn)發(fā)
Nginx 80 通過 upstream,將請求通過負(fù)載均衡,均衡給后端處理的服務(wù)(Nginx 8360) 。

排隊(duì)等待上傳處理
后端服務(wù)將上傳任務(wù)進(jìn)行排隊(duì),等待 Gearman 異步服務(wù)進(jìn)行隊(duì)列消費(fèi)和任務(wù)調(diào)度,同時(shí)給該上傳請求返回任務(wù) ID,用于查詢處理結(jié)果。

圖片初始處理和存儲(chǔ)
Gearman worker 異步對圖片進(jìn)行處理,比如壓縮、初始裁剪、人臉識(shí)別等,并將圖片以及圖片處理后的元信息落地存到 Cassandra。將任務(wù) ID 對應(yīng)的處理結(jié)果,存在 Redis,用于提供用戶查詢。

獲取上傳結(jié)果
通過 中獲取的任務(wù) ID,獲取圖片上傳和處理結(jié)果。

PS: 圖床同時(shí)也支持同步上傳、回調(diào)通知的方式,將圖片上傳結(jié)果反饋給業(yè)務(wù)方。

2. 下載模塊(Picasso)


【Picasso 架構(gòu)圖】

用戶通過 URL 請求圖床的一張圖片,大致流程如下:

圖片 URL 請求
圖片 URL 根據(jù)圖床域名 CNAME 配置,請求到 CDN 節(jié)點(diǎn)。如果所請求的 CDN 節(jié)點(diǎn)已緩存過該圖片,則直接返回?cái)?shù)據(jù)。

CDN 回源
如果 中沒命中 CDN 緩存,將會(huì)回源到圖床后端(Nginx 80 端口)。

圖床后端緩存(Varnish)
為了減少圖床后端的計(jì)算壓力,圖片請求回源到圖床后端時(shí),并不是直接到存儲(chǔ)集群讀圖片、處理圖片,而是先通過 varnish 前端緩存服務(wù),如果 varnish 緩存命中,則直接響應(yīng)圖片數(shù)據(jù)。

Varnish 緩存沒命中
如果 varnish 緩存沒命中,則轉(zhuǎn)發(fā)給 Nginx 8360 端口,進(jìn)而轉(zhuǎn)發(fā)給 PHP fast-cgi 進(jìn)行圖片讀取和響應(yīng)。

圖片處理
中讀取了圖片數(shù)據(jù),會(huì)在 Nginx (8360)這層的 filter 模塊進(jìn)行處理,處理規(guī)則是在圖片 URL 的參數(shù)中指定。比如:指定裁剪寬高、濾鏡、黑白、人臉裁剪、gif 首幀提取等等,這個(gè) filter 模塊主要是使用了開源的 GraphicsMagick 進(jìn)行圖片處理,靜態(tài)編譯到 Nginx。

響應(yīng)處理后的數(shù)據(jù)
通過 Nginx (8360)這層模塊的處理,得到符合 URL 指定規(guī)則的圖片,最后響應(yīng)并緩存到 CDN 節(jié)點(diǎn)。

以上就是圖床上傳和下載模塊的處理邏輯。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/39476.html

相關(guān)文章

  • 通用圖床服務(wù)架構(gòu)解析百萬級(jí)回源/

    摘要:轉(zhuǎn)發(fā)通過,將請求通過負(fù)載均衡,均衡給后端處理的服務(wù)。圖床同時(shí)也支持同步上傳回調(diào)通知的方式,將圖片上傳結(jié)果反饋給業(yè)務(wù)方。 Hulk 圖床是支持 360 公司絕大部分業(yè)務(wù)的圖片服務(wù),支持多種圖片處理功能,如:裁剪、壓縮、濾鏡、pHash 計(jì)算、人臉識(shí)別、格式轉(zhuǎn)換、gif 首幀提取……等等,支持的業(yè)務(wù)線包括:搜索、圖搜、新聞、信息流、廣告……等等,每天 CDN 回源圖床后端 150+ 億 P...

    XFLY 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<