日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

        编程问答

        架构师经常参考的Netflix架构,它的全貌是怎样的?

        發(fā)布時(shí)間:2025/4/5 编程问答 23 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 架构师经常参考的Netflix架构,它的全貌是怎样的? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

        http://www.21cto.com/article/1243

        隨著我們深入研究可擴(kuò)展架構(gòu),我們?cè)絹碓蕉嗟慕佑|到 Netflix。 他們的技術(shù)非常開放。 這篇文章是我們與 Bryan一起完成。所有信息是從互聯(lián)網(wǎng)上收集而來。歡迎在留言中補(bǔ)充更多 Netflix 架構(gòu)的資料。


        ?
        我們看到的 Netflix 架構(gòu)在可擴(kuò)展方面可取之處
        ?
        ?
        Netflix 由 Marc Randolph 和 Reed Hastings 于 1997 年在加州 Scotts Valley 成立,由 30 名員工和 925 名租賃用戶組成,現(xiàn)在是全球領(lǐng)先的互聯(lián)網(wǎng)電視網(wǎng)絡(luò),在 50 個(gè)國家擁有超過 6,900 萬用戶每月享受超過 100 億小時(shí)的電視節(jié)目和電影。 他們對(duì)于技術(shù)非常透明,并在網(wǎng)上發(fā)布了很多信息。 我們收集并分享了我們認(rèn)為最可取的一些點(diǎn):
        ?


        ?
        ?
        可擴(kuò)展文化
        ?
        NetFlix 有一個(gè)關(guān)于企業(yè)文化的著名演講。 這些概念是關(guān)于重新思考人力資源。 他們很多可擴(kuò)展人力的理念在這個(gè)演講中得到了完整的表述。 下面是其中一些示例幻燈片和演示文稿。這給我們了解 Netflix 的企業(yè)文化提供了一些重要的背景,我們從中可以了解他們?nèi)绾螖U(kuò)展他們的軟件棧,以及它為什么工作。
        ?


        ?


        ?
        ?
        ?
        部署在 Amazon 云上的架構(gòu)
        ?
        ?
        Netflix 的基礎(chǔ)架構(gòu)架設(shè)在 Amazon EC2 上,視頻數(shù)據(jù)存儲(chǔ)在 Amazon S3 上。根據(jù)視頻分辨率和音頻質(zhì)量,每個(gè)電影被編碼成超過 50 個(gè)不同版本存儲(chǔ)在不同的 EC2 上。 亞馬遜上存儲(chǔ)了超過1PB的數(shù)據(jù)。 這些數(shù)據(jù)被發(fā)送到 CDN 以將內(nèi)容就近提供給各地的 ISP。
        ?
        Netflix 在后端使用了一些開源軟件,包括 Java,MySQL,Gluster,Apache Tomcat,Hive,Chukwa,Cassandra 和 Hadoop。
        ?


        ?
        ?
        多設(shè)備支持
        ?
        Netflix 上的巨大數(shù)量的編解碼器和比特率組合意味著“同一個(gè)視頻在傳送到所有流式平臺(tái)之前,需要進(jìn)行120次不同規(guī)格的編碼”。
        ?
        雖然 Netflix 使用自適應(yīng)比特率流技術(shù)來調(diào)整視頻和音頻質(zhì)量以匹配客戶的下載速度,但它們還為用戶提供了在其網(wǎng)站上選擇視頻質(zhì)量的能力。
        ?
        您可以從任何提供 Netflix 應(yīng)用程序的互聯(lián)網(wǎng)連接設(shè)備立即觀看,例如計(jì)算機(jī),游戲機(jī),DVD或藍(lán)光播放器,HDTV,機(jī)頂盒,家庭影院系統(tǒng),手機(jī)或平板電腦。
        ?
        他們支持以下編解碼器中的每個(gè)標(biāo)題具有不同的比特率,使它們?cè)谠O(shè)備和連接上工作。

        1 視頻 – VC-1, H.264 (AVC), VC-1, H.263, H.265 (HEVC)
        2 音頻 – WMA, 杜比數(shù)字, 杜比數(shù)字+, AAC 和 Ogg Vorbis
        ?

        Netflix 開放連接 CDN
        ?
        Netflix 開放連接 CDN 適用于擁有超過 10 萬訂閱者的大型 ISP。 專門構(gòu)建的低功耗高存儲(chǔ)密度設(shè)備,在 ISP 的數(shù)據(jù)中心內(nèi)緩存 Netflix 內(nèi)容,以降低互聯(lián)網(wǎng)傳輸成本。 此設(shè)備運(yùn)行 FreeBSD 操作系統(tǒng),nginx 和 Bird Internet 路由守護(hù)程序。
        ?
        可擴(kuò)展及推薦算法
        ?
        2009 年,Netflix 進(jìn)行了一場(chǎng)名為 Netflix 獎(jiǎng)的競(jìng)賽。他們開放了一堆匿名數(shù)據(jù),允許團(tuán)隊(duì)嘗試并開發(fā)更好的推薦算法。他們當(dāng)時(shí)的系統(tǒng)從獲勝的隊(duì)伍的算法中獲得了10.06% 的提升。 Netflix 后來也計(jì)劃組織一次新的 Netflix 獎(jiǎng)競(jìng)賽,但最終因?yàn)?FTC 的隱私問題未能舉辦。
        ?
        Netflix 推薦系統(tǒng)由許多算法組成。在生產(chǎn)系統(tǒng)中使用的兩個(gè)核心算法是受限玻爾茲曼機(jī)(Restricted Boltzmann Machines, RBM)和被稱為 SVD++ 的矩陣因子分解的形式。這兩種算法使用線性混合來產(chǎn)生單個(gè)較高精度預(yù)估。
        ?
        受限的玻爾茲曼機(jī)(RMB)已經(jīng)被修改為在協(xié)同過濾方式工作的神經(jīng)網(wǎng)絡(luò)。每個(gè)用戶都有一個(gè)代表電影用戶額定輸入節(jié)點(diǎn)的 RBM。
        ?
        SVD++ 是SVD(奇異值分解)的不對(duì)稱形式,其利用諸如 RBM 的隱式信息。它是由 Netflix 獎(jiǎng)競(jìng)賽的獲勝團(tuán)隊(duì)開發(fā)的。
        ?
        在他們的工程博客上,Netflix 團(tuán)隊(duì)介紹了如何實(shí)現(xiàn)一個(gè)個(gè)性化主頁 [3]
        ?
        開源項(xiàng)目
        ?
        團(tuán)隊(duì)的開源項(xiàng)目在?https://netflix.github.io/。
        ?
        Netflix 有一個(gè)優(yōu)秀的工程博客,他們也有一篇介紹 Netflix 開源演變的博客。[4]
        ?
        Netflix 全棧架構(gòu)一覽
        ?
        大數(shù)據(jù)

        Genie - 對(duì)我們的各種數(shù)據(jù)處理框架(特別是 Hadoop)的強(qiáng)大抽象(基于REST)。

        Inviso - 詳細(xì)了解我們的Hadoop作業(yè)和集群的性能。

        Lipstick - 以清晰,直觀的方式顯示Pig job的工作流程。

        Aegisthus - 允許從 Cassandra 大量獲取數(shù)據(jù)用于下游分析處理。
        ?
        構(gòu)建和交付工具

        Nebula- Netflix 內(nèi)部構(gòu)建基礎(chǔ)設(shè)施。

        Aminator - 用于創(chuàng)建EBS AMI的工具。

        Asgard - 用于 Amazon Web Services(AWS)中應(yīng)用程序部署和云管理的 Web 界面。
        ?
        通用運(yùn)行時(shí)服務(wù)和庫

        Eureka - 用于 Netflix 云平臺(tái)的服務(wù)發(fā)現(xiàn)。

        Archaius - 分布式配置管理。

        Ribbon- 彈性和智能化的進(jìn)程間和服務(wù)間通信。

        Hystrix - 提供跨服務(wù)調(diào)用的可靠性,隔離運(yùn)行時(shí)延遲和容錯(cuò)。

        Karyon 和 Governator - JVM容器服務(wù)。

        Prana sidecar - Prana 在實(shí)例中提供代理功能。

        Zuul - 在部署的邊緣節(jié)點(diǎn)提供可進(jìn)行腳本化的代理。

        Fenzo - 為云本地框架提供高級(jí)調(diào)度和資源管理。
        ?
        數(shù)據(jù)持久化

        EVCache 和 Dynomite - 用于大規(guī)模使用 Memcached 和 Redis。

        Astyanax 和 Dyno - 以更好地使用云端數(shù)據(jù)存儲(chǔ)的客戶端庫。
        ?
        分析、可靠性和性能相關(guān)

        Atlas - 時(shí)間序列自動(dòng)測(cè)量平臺(tái)

        Edda - 跟蹤云端變化的服務(wù)

        Spectator - 將應(yīng)用程序代碼與 Atlas 輕松集成

        Vector - 以最小的開銷監(jiān)控高精度主機(jī)性能指標(biāo)。

        Ice - 監(jiān)控運(yùn)營(yíng)成本和云利用趨勢(shì)。

        Simian Army - 測(cè)試 Netflix 實(shí)例的隨機(jī)故障。
        ?
        安全

        Security Monkey - 幫助監(jiān)控和保護(hù)基于AWS的大型環(huán)境。

        Scumblr - 利用全網(wǎng)針對(duì)性搜索定位特定安全問題。

        MSL - 一種可擴(kuò)展且靈活的安全消息傳遞協(xié)議,解決了許多安全通信用例和需求。

        Falcor - 通過虛擬 JSON 圖將遠(yuǎn)程數(shù)據(jù)源表示為單域模型。

        Restify - 專門用于Node.js Web API服務(wù)的REST框架

        RxJS - JavaScript的反應(yīng)式編程庫
        ?
        ?
        相關(guān)鏈接:

        原文:http://www.scalescale.com/the- ... ling/
        https://www.youtube.com/watch?v=mBCXdaukvcc
        http://techblog.netflix.com/2015/04/learning-personalized-homepage.html
        http://techblog.netflix.com/2015/10/evolution-of-open-source-at-netflix.html

        轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/articles/9626478.html

        總結(jié)

        以上是生活随笔為你收集整理的架构师经常参考的Netflix架构,它的全貌是怎样的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。