技術架構統一,應對業務整合後端
閱文集團成立於2015年,由騰訊文學與原盛大文學整合而成。由於由不少子品牌公司的技術架構組成,因此須要進行技術架構的統一。服務器
傅徐軍說道:「咱們面臨的第一個挑戰就要作技術架構的統一,這是咱們第一個要解決的問題。」閱文集團後端服務技術棧曾有.Net及Oracle存儲,也存在着幾百臺Windows Server系統的服務器,固然也存在JAVA和PHP兩種在網絡文學行業中應用很是普遍的語言。因此秉承快速構建、共性開發、持續集成、快速迭代、高效運營的理念,架構統一的工做瓜熟蒂落地展開了。微信
技術決策者經驗,微服務架構選型網絡
由於RPC的遠程調用特性,針對多系統間的通信及計算能力橫向擴展有着先天優點。閱文集團早期的架構是單一接入的煙囪式架構,若是發生接入層故障或者數據中心節點故障,都會致使全業務不可用。架構
針對新技術架構選型,傅徐軍闡述道:「閱文集團須要一個分佈式的計算框架,一個高性能的RPC架構以及微服務的治理平臺。在作了不少的技術架構選型以後,最終選擇了騰訊的TARS。通過持續的技術交流和逐步的架構演變,解決了閱文集團在服務發現、智能調度、負載均衡、容災容錯、立體化監控和可視化運營管理的問題。閱文集團在技術架構上取得了很好的效果,跟咱們的預期很是一致,研發效率獲得了極大的提高,運維成本也明顯的減小,總體系統的穩定性也取得了卓越的效果。」併發
抽象公共組件,提高研發效率負載均衡
閱文集團這幾年發展很快,針對不一樣的讀者提供了不少不一樣的閱讀頻道,針對不一樣的合做方提供了不一樣的合做方式。從而造成不少不一樣的方案,若是爲每個方案作一套獨立的架構,是頗有難度的。框架
傅徐軍表示:「閱文集團一開始有起點讀書、QQ閱讀這類在線網文的內容。後來,作了不少細分,好比說面向女性讀者、面向二次元讀者及海外讀者都提供了不一樣的閱讀頻道。與正版紙質圖書也有不少合做,如爲微信讀書提供內容,像《哈利·波特》、《魔戒》都經過閱文發行。這些方案雖然很不同,可是他們有不少的公共組件,是能夠抽取出來的。好比說計費、帳戶、稿酬、評論的反做弊等。有大概數百個部分組成,這樣慢慢提取出來,才能作到更好的迭代,才能提升研發效率。」運維
高性能高併發,服務海量用戶分佈式
「閱文集團在近幾年用戶快速增加,如今MAU已經超過1.9億,這樣的一個狀況下,春節搞一個紅包活動,QPS大概是十萬級別,核心引擎的數據也達到了十萬級別。爲了支持這樣的量級,怎麼樣作一個高性能高併發的架構是一個挑戰。」傅徐軍補充。
閱文集團業務每日調用數值巨大。近60種業務服務,對於常規的開發部署方式,必然會花費大量成本進行編碼、部署以及運維的統一。正是採用了騰訊的TARS架構,它在研發和運營方面都有很是優秀的表現,爲閱文集團的APP抗住了515書友粉絲節、百萬紅包、除夕手Q線上聯動等過億級用戶量的活動。
技術回饋社區,加速開源發展
傅徐軍在最後說道:「令我印象最深的是,雖然TARS是從原來在騰訊內部使用到後來慢慢變開源的一個平臺,可是它向咱們提供的倒是一個企業級的服務。閱文集團技術團隊除了使用開源技術,同時也作了不少對外開源的貢獻。好比在多語言的支持上,原來的TARS欠缺了對PHP語言的支持,而閱文集團在PHP語言開發的積累上是比較透徹的,因此咱們幫助TARS作了PHP的語言擴展。同時咱們去年與TARS的技術團隊也作了深刻的分享和交流。將來,閱文將會向開源社區作更多的技術回饋,加速整個開源社區的發展。」