五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

去B站總部交流技術(shù),我差點沒能走出公司....

2022-12-07 15:29 作者:蘇夢北北ing  | 我要投稿

勵志當(dāng)最強課代表的我來給大家總結(jié)總結(jié)??????

B站的直播架構(gòu)演進之路


視頻內(nèi)容:

1??前言??

2??從0到1??

3??局座來了???

4??微服務(wù)化??

5??容器化??

6??Golang真香??


視頻內(nèi)容:

1??前言??

嘩哩嘩哩直播成立于2014年,經(jīng)過8年時間的發(fā)展已經(jīng)從最初的業(yè)務(wù)試水成長為公司重要的業(yè)務(wù)板塊之一。

技術(shù)架構(gòu)也從一個單體服務(wù)演進為由數(shù)百個微服務(wù)組成的復(fù)雜系統(tǒng)。本文將回顧8年來嘩哩嘩哩直播架構(gòu)演進中一步步的變化,了解它是如何從О開始逐漸成為能夠承載千萬在線的微服務(wù)系統(tǒng)。

?
00:46
?



2??從0到1??

和大多數(shù)網(wǎng)站一樣直播也是始于一套LAMP 架構(gòu),即Linux + Apache + MySQL + PHP。前端、服務(wù)端、定時任務(wù)所有功能都集中在一個叫做“l(fā)ive-app-web"的項目中。

一個典型直播后臺架構(gòu)由三部分組成:業(yè)務(wù)系統(tǒng)用于直播各種業(yè)務(wù)功能邏輯實現(xiàn)、推拉流系統(tǒng)用于主播推流和用戶拉流觀看、長連接系統(tǒng)用于在直播中的各類實時業(yè)務(wù)數(shù)據(jù)推送觸達。而live-app-web 即承擔(dān)了application server的角色。

?
01:09
?

live-app-web的應(yīng)用架構(gòu)

live-app-web最初的項目結(jié)構(gòu)

主播系統(tǒng),用戶系統(tǒng),彈幕系統(tǒng),禮物系統(tǒng),成就系統(tǒng),排行榜系統(tǒng),積分系統(tǒng),任務(wù)系統(tǒng)

3??局座來了???

不了解局座B站直播梗的同學(xué)可以先通過這個鏈接了解一下事件背景:如何看待張召忠將軍7月13日的b站直播?1],一句話總結(jié)就是:局座來了直播掛了,??傇谥豕_道歉。

?
03:37
?



4??微服務(wù)化??

而當(dāng)時正好有一款在國內(nèi)很火的PHP高性能服務(wù)框架Swoole,通過進程常駐的方式顯著提升了PHP 服務(wù)的運行性能。經(jīng)過一定的技術(shù)調(diào)研之后團隊決定以 Swoole為基礎(chǔ)構(gòu)建直播的微服務(wù)框架,并定義了以下原則:

1.按業(yè)務(wù)領(lǐng)域進行微服務(wù)拆分

2.每個微服務(wù)擁有自己獨立的數(shù)據(jù)庫、緩存

3.每個微服務(wù)僅能訪問自己的數(shù)據(jù)庫、緩存,服務(wù)間只能通過RPC訪問4.微服務(wù)負(fù)責(zé)人對自己的負(fù)責(zé)業(yè)務(wù)的服務(wù)穩(wěn)定性負(fù)責(zé)

服務(wù)框架:我們基于Swoole開發(fā)了我們自己的微服務(wù)框架,這套微服務(wù)柜,實現(xiàn)服務(wù)進程管理、平滑重啟、ORM、Cache、Logging 等,業(yè)務(wù)只需要按照模板實現(xiàn)controller和對應(yīng)service代碼即可,能夠比較快速地上手開發(fā)。

?
03:48
?



5??容器化??

一直以來直播服務(wù)均采用物理機部署的方式,這種方式存在明顯的缺陷:需要為每個服務(wù)分配獨立的端口避免端口沖突、部署目錄需要隔離、存在資源競爭、單個服務(wù)容量無法準(zhǔn)確評估等等。

而隨著B站業(yè)務(wù)規(guī)模的擴大,公司的基建團隊也提供了更為穩(wěn)定的容器平臺,在充分調(diào)研后我們啟動了服務(wù)Docker 化改造并在很短的時間內(nèi)完成了全部服務(wù)的容器化部署。

?
07:27
?



6??Golang真香??

2018年是Golang 大火的一年,毛老師作為Golang布道師在嘩哩嘩哩主站推進Golang服務(wù)化演進非常成功,并通過Golang 開發(fā)出了一系列的微服務(wù)框架和中間件,如Kratos(Go微服務(wù)框架)、Discovery(服務(wù)發(fā)現(xiàn))、Overload(緩存代理)等,相當(dāng)一部分項目也同時在github上進行了開源。

?
09:14
?



去B站總部交流技術(shù),我差點沒能走出公司....的評論 (共 條)

分享到微博請遵守國家法律
凭祥市| 商洛市| 施甸县| 大足县| 东至县| 哈巴河县| 晋宁县| 新竹市| 通渭县| 汶川县| 太康县| 桐庐县| 沈阳市| 河西区| 延长县| 牟定县| 嵩明县| 竹山县| 鄢陵县| 鸡东县| 兴和县| 新昌县| 罗甸县| 玛纳斯县| 平邑县| 正安县| 南陵县| 揭东县| 天水市| 措美县| 吴江市| 城固县| 固阳县| 冕宁县| 河北省| 清河县| 郑州市| 民和| 东丰县| 东兰县| 盐池县|