1200伺服器,1000億hits,揭祕新浪資料庫

tianxiaoxu發表於2018-05-07

利用碎片化時間檢視資訊已經成為網際網路原住民的生活方式,據大資料服務QuestMobile報告稱:2016年底,綜合資訊行業規模已達5.3億,同比增長率近70%,超過一半的移動網民都在使用新聞App。

  4月18日,QuestMobile釋出了2017春季報告,新浪新聞App作為新浪網最重要的分支之一,月使用者規模(月活)達6056萬,同比增長138.3%,中高消費水平使用者佔比75.4%。面對如此體量,新浪網的後端資料庫如何支援?在資料庫選型上有哪些標準?資料安全又如何把控?帶著這些疑問,我們訪問了新浪資料庫平臺高階DBA趙景波。

1200伺服器,1000億hits,揭祕新浪資料庫

  趙景波,先後就職於杭州沃趣科技、新浪網,從事Oracle、MySQL、Redis相關方面的運維工作。目前為新浪資料庫平臺高階DBA,主要負責新浪資料庫平臺Redis自動化運維、kafka運維等相關方面工作。

  揭祕新浪網的資料庫構成

  據趙景波介紹,目前新浪網的資料庫平臺共有9個主要IDC,1200+伺服器,7k+例項,1000+億 hits/天,總儲存容量1PB+。為了更好的滿足公司業務需求,新浪網採取了不同的資料庫平臺和資料系統服務平臺來提供相關的資料服務:

  ·基於MySQL的關係型資料庫儲存服務

  ·基於Redis的KV儲存服務

  ·基於Mongodb的文件儲存服務

  ·基於Hbase半結構化大資料儲存服務

  ·基於Memcached的快取服務

  ·基於mcq和kafaka的訊息佇列服務

  ·zookeeper服務,業務如果有資料釋出/訂閱、命名服務,選舉等需求也可以申請使用。

  新浪網作為國內主流的新聞入口網站,業務場景繁多,不同的業務場景是如何進行資料庫選型的呢?趙景波表示因為MySQL是一個很成熟的產品,其外掛式的引擎特性也能滿足大多數場景要求,再加上它的社群相當活躍,人才儲備也最豐富,所以如果業務場景適合會優先選擇MySQL。但是如果業務場景有某些特殊需求,我們也會考慮其他資料庫,例如業務場景只是簡單的kv儲存模型、或者業務對於響應時間要求極高,再或者業務需要schemaless型別的資料庫以便於業務快速開發迭代等等。

  目前新浪網平臺不僅提供MySQL服務,還同時提供MongoDB、Redis、Memcached、Hbase等服務。趙景波為我們介紹了新浪網內部服務釋出系統的變遷,早年新浪網釋出的新聞都是用MySQL儲存,隨著業務發展,個性化的需求與日俱增,業務表結構變更(新增欄位)的需求也越來越多,此時MySQL固定schema的儲存模型無法滿足業務快速開發迭代的需求,所以釋出系統的新聞資料就從MySQL全部遷移到了MongoDB。另外,新聞推薦push等業務對部分介面的響應時間要求很高,所以就採用了Redis或者Memcached這種記憶體KV快取來解決業務的需求。

  新浪網如何把控資料安全

  對於網際網路公司來說,資料安全可以說是生命線,據相關媒體報告稱僅在2016年前10個月,全球已約有3000起公開的資料洩漏事件,22億條記錄被披露,已經超過2015年全年。面對如此嚴峻的資料安全的局面,趙景波表示新浪網在資料安全性方面有很多硬性規定,並做了主機維度、業務維度和服務維度的層次劃分。

  主機維度:制定了相關標準,給出了主機安全防護基線要求,主要有身份驗證、訪問控制、入侵防範等,對安裝的軟體、登陸使用的方式等等也都有嚴格的標準。

  業務維度:規定了新浪業務及應用的安全防護要求,主要約束了應用的上傳下載、網站外鏈、惡意程式碼、資訊加密等。

  資料服務維度:這一層面的安全性主要體現在資料庫備份、儲存可靠性、伺服器資源使用(通過Cgroup隔離)、資料庫訪問帳號、SQL隱碼攻擊防範、資料加密、資料一致性等。

  ·建立了動態密碼更新機制,對於非常核心的重點業務做到了資料庫帳號密碼動態更新,提高安全性;

  ·資料庫的賬號只保留了增、刪、改、查的許可權,其他的如truncate、drop等許可權全部回收,大大減少了業務方通過此類危險命令誤刪除資料的機會;

  ·對內部管理資料庫的賬號做分級,只有少數資深高階DBA才有較大的許可權來運算元據庫,常規的DBA也只保有在固定伺服器上的有約束性的許可權

  ·資料儲存安全主要做了兩個事情,一個是針對涉密的資料,我們對備份的資料做了加密,除了對應的專職管理員有許可權檢視,其他人沒有許可權檢視,另外一個就是我們備份的資料會儲存到HDFS叢集,保障資料的可靠性。

  在業務發展早期,為了更快的滿足業務資源申請需求而忽視平臺自身的規範建設是很多企業都面臨或者正在經歷的事情。在中國資料庫技術大會(DTCC 2017)上,趙景波會以Redis服務為例,為我們講述隨著業務規模壯大,新浪網核心業務運維遇到了哪些痛點?當運維過程暴露出越來越多的問題時,新浪網又是如何去規範、完善Redis運維平臺的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2154036/,如需轉載,請註明出處,否則將追究法律責任。

相關文章