2016,你最不应该错过的热门技术文章
本文首發在“美團技術團隊”微信公眾號,內容已覆蓋截止至2017年1月23日最新的技術文章。
1955年3月15日,愛因斯坦給剛去世的密友Michele Besso家人的信中說:
“像我們這樣信仰物理學的人都知道,過去、現在和未來之間的分別只不過是持久而頑固的幻覺。”
然而,臨近歲末,我們這些普通人還是難以免俗地做一番回顧與展望。
算起來,“美團技術團隊”這個公眾號始自2014年9月,已經運營兩年多了。
公眾號對應的美團技術博客開始得更早,是2013年的12月。那時候,美團創立不到4年,千團大戰還在如火如荼,美團酒旅和美團外賣都剛剛開始不久。
而現在,美團外賣今天剛剛宣布日訂單突破900萬,離美團酒旅按間夜數也已成為業界第一。
在美團,我們信仰耐心和堅持的力量,愿意持續去做一些正確、有積累、可能表面看上去不那么重要實則非常關鍵的事情。
正如美團聯合創始人穆榮均在今年一次Hackathon上說的: “這個世界不缺乏有勇氣的人,很多人都會想做各種驚天動地的事業。而最缺乏的,是耐心和堅持?!?/p>
技術博客和技術公眾號正是耐心與堅持的結果。
從2013年的4篇文章開始,我們多年來一直堅持把團隊在一線實踐中獲得的經驗和思考寫成文章,對外發布。
2016年,我們發表了55篇技術文章,終于實現了最初公司老大給我們提出的每周一篇的目標(耶!)。
讓我們一起來倒數美團技術博客/公眾號的年度Top 10(基于微信和博客網頁瀏覽量統計數字,第10名也超過了1萬,最高的接近3萬),看看你是否錯過了珠璣。
2016年,美團和大眾點評兩大平臺實現了非常高效的融合,原來一南一北兩個技術團隊也迅速實現了融合,大家互相學習,獲益良多。我們公眾號也非常高興地增加了來自美團上海團隊的給力作者群。
李力這篇文章的主題是一個高可用系統的演進,可以視為另一篇上海團隊經驗總結《高可用性系統在大眾點評的實踐與經驗》的案例。由于是交易系統,要求更高。文中提出的針對故障渠道的fail-fast機制是亮點之一。
在美團,技術最重要的作用是解決業務問題。這也是我們整個博客和公眾號的重點。2016年,這方面優秀的實戰文章還有不少,包括新鮮出爐的《美團酒店直連產品數據一致性演進》,和9月上海技術沙龍上分析的《大促活動前團購系統流量預算和容量評估》(這篇文章的作者是今年兩位女作者之一),還有一篇重量級的文章《美團業務風控系統構建經驗》,介紹了美團的風控系統在與黑色產業斗爭中的一些經驗以及系統構建過程中的體會。
CAT是美團在公司外應用最為廣泛的開源項目,也是目前最優秀的開源分布式監控系統之一。本文作者是項目目前的負責人,在之前介紹性文章的基礎上,對設計思路做了更加深入全面的剖析。
美團的監控體系中,在服務器端的CAT之上,還需要客戶端監控,這就是美團外賣團隊開發的《移動端性能監控方案Hertz》。
目前,美團在基礎架構層面已經基本形成體系,除了CAT外,我們今年還介紹了《分布式會話跟蹤系統架構設計與實踐》。
明年,我們會陸續發表相關的技術文章,包括但不限于:高性能服務框架及服務治理演進、容器集群管理及彈性伸縮平臺的設計與實踐、大規模分布式KV存儲系統、消息中間件設計與實踐、分布式會話鏈跟蹤系統設計與實踐,等等。
以日訂單數計,美團已經成為中國第二大電子商務平臺,底層大數據系統的支撐至關重要。而其中,Spark又發揮了核心作用。今年我們一共發布了4篇Spark相關的文章,而且有2篇都進入了Top 10,可見Spark的熱度。本文通過多個項目以比較廣的視角,介紹了Spark在各種場景的應用。
我們目前的實時計算平臺同時接入了Storm和Spark Streaming,這方面推薦閱讀《Spark Streaming + Elasticsearch構建App異常監控平臺》和《Storm 的可靠性保證測試》。
大數據方面,Hadoop生態仍然是我們的基礎平臺,今年我們有兩篇深入分析HDFS NameNode內存的文章:《HDFS NameNode內存全景》和《HDFS NameNode內存詳解》,都是來自實戰的經驗之談。
美團外賣3年從0到900萬日訂單,算是互聯網發展歷史上的一個奇跡。外賣的實時性非常強,在這樣狂飆突進式發展的背后,技術是怎么支撐的,是很好的話題。本文以時間維度,系統地總結了訂單核心系統的演進過程。
這只是外賣系統演進系列文章之一,2017年我們會邀請更多美團外賣的同學分享更多領域。
同樣是訂單系統,大眾點評平臺華蔚的《大眾點評訂單系統分庫分表實踐》分享了數據庫切分實踐;今天發表的文章《美團團購訂單系統優化記》又介紹了團購系統的優化歷程。
針對類似數據庫問題,外賣團隊自行研發了中間件,《MTDDL——美團分布式數據訪問層中間件》。
10月的美團技術沙龍是數據庫專題,其中《美團的DBProxy實踐》介紹了DBA團隊基于360的Atlas研發的數據庫中間件MTAtlas,現如今已更名為DBProxy,正式開源啦~并且發布了新的博客《美團數據庫中間件DBProxy開源》,內附開源地址以及開源后的新功能?!禦DS平臺介紹》討論了MySQL自動化服務平臺RDS,《美團數據庫運維自動化系統構建之路》介紹了我們DBA自動化運維的演進。
劉丁是我們的老作者,特別善于思考和總結。他在負責美團廣告部CRM系統開發的過程中,從如何幫助決策者的角度,對CRM這個企業信息系統的核心之一做了全面和深入的思考。在我看來,這篇文章其實不限于CRM,還很好地闡述了互聯網+在技術上怎么落地。
各行各業現在都要擁抱互聯網,本質上是數字化,而劉丁在本文中提出,數字化分為三個層次:標準化(你的業務概念、數據類型是否能夠結構化?)、自動化(你的業務流程是否能規則化、編程化?)和智能化(運用算法來改進流程)。此外他還討論了數字化最難的方面:組織保證,構建優秀的研發團隊。
這些思考雖然還比較初步,但從無到有,彌足珍貴。
類似的,《數據驅動精準化營銷在大眾點評的實踐》也很好地通過精準營銷這個場景闡述了大數據如何具體落地。
Android熱更新是移動客戶端技術的一個熱點。Robust基于Google最新的Instant Run技術,與之前的方案相比兼容性更強而且實時生效。文章發表后引起了廣泛關注,有好幾個業界同行撰寫了相關的文章和開源項目。
此外,2016年我們前端和移動端方面的文章還有: Android方面,《Android自定義Lint實踐》講述了我們如何定制Lint做代碼靜態檢查,《如何構建Android MVVM 應用框架》則通過實際實現一個MVVM工具庫(代碼已經開源),分析了MVVM模式,《Android硬件加速原理與實現簡介》介紹了GPU硬件加速技術,讓軟件開發者能夠更好地了解硬件加速。
iOS方面,ReactiveCocoa(RAC)在美團應用廣泛,在已有的多篇文章基礎上,今年我們又發布了《ReactiveCocoa中潛在的內存泄漏及解決方案》和《ReactiveCocoa核心元素與信號流》。
除了RAC之外,近年來,FRP(Functional Reactive Programming,函數式響應式)思想通過RxJava、RxJS等庫逐漸落地,美團的Android和Web團隊也有較多應用。后續我們會組織相關的文章。
前端方面,Nodejs的Stream也是FRP的核心概念之一,鄒斌的系列文章《Node.js Stream基礎篇》、《進階篇》和《實戰篇》作了深入分析。《RestQL:現代化的 API 開發方式》介紹了技術學院研發組的一個數據操作工具,代碼已經開源。
每年我們都有幾百位同學參加職級晉升答辯,其中必要的環節就包括總結自己的收獲。邵曉明同學這篇文章就是他答辯資料的整理。雖然沒有特別多高大上的內容,但來自一線總結,非常系統,也非常實用,是很好性能優化的學習資料。
對了,這篇文章是微信公眾號上的瀏覽量冠軍。
性能優化方面,另外還推薦大家閱讀劉丁去年發表的《性能優化模式》,也是很系統的總結,理論范兒十足。
后端技術方面,2016年還有幾篇很扎實的文章,都是相關主題少見的干貨: 服務容錯模式 分布式系統互斥性與冪等性問題的分析與解決 Cache應用中的服務過載案例研究
Spark雖然以快著稱,但在實際使用中如果性能優化不當,反而會顯得很慢。本文與姊妹篇《Spark性能優化指南——高級篇》一起介紹了整套的Spark調優方案,包括開發調優、資源調優、數據傾斜調優和shuffle調優。
本文是2016年一系列基礎性文章的代表。美團技術棧主要是Java體系,從實戰角度對Java語言、平臺以及主流框架的深入研究是必不可少的。
同類的文章還有: 紅黑樹深入剖析及Java實現 Java NIO淺析 聊聊clean code Spring MVC注解故障追蹤記 Java Hotspot G1 GC的一些關鍵技術
消息隊列一直是后端技術的熱門話題,而且優秀的設計與項目層出不窮。本文的優點是系統全面地介紹了消息隊列設計的思路。
除了這篇熱文外,劉丁的《分布式隊列編程:模型、實戰篇》和《分布式隊列編程:優化篇》從更抽象的數據結構層面討論了隊列的實踐,《高性能隊列——Disruptor》介紹了LMAX開發的名動一時的開源隊列項目,相得益彰。
2016年的Top 10可以說是目前技術關注點的縮影。
除此之外,還有幾個重要方向不能忽視。
第一個是測試,為了提升我們自己的效率,自動化測試、模板、測試工具這些都是必須多多探索的方向。這方面的文章有5篇: 基于 KIF 的 iOS UI 自動化測試和持續集成(本文作者是另一位女同學) 移動App兼容性測試工具Spider 基于 Appium 的 Android UI 自動化測試 使用模板快速編寫測試用例 從0到1構建美團壓測工具
第二個是云計算,別忘了我們有專門的云計算公司——美團云。2016年團隊太忙,只分享了塊存儲方面的實踐:《分布式塊存儲系統Ursa的設計與實現》和《MGW-美團高性能四層負載均衡》。不用著急,我們的Docker平臺、自研的對象存儲系統都將出現在明年。
第三個是算法,包括算法的理論與實踐,還有特征工程。這方面的文章有5篇: 外賣排序系統特征生產框架 Online Learning算法理論與實踐 深入FFM原理與實踐
人工智能現在成了最熱的技術方向,我們剛剛結束的Hackathon大獎(三部小米贊助的MIX概念手機)也被智能中心的同學摘取了。估計明年會有更多深度學習(CNN、RNN、GAN……)和其他算法的文章涌現。
最后,還有很多2015年以及更早的常青樹,獲得了很多的訪問量,有的甚至在總排行榜上遙遙領先。這充分證明,好的技術內容并不那么容易過時。 MySQL索引原理及慢查詢優化 基于Flume的美團日志收集系統 美團Android自動化之旅——生成渠道包 美團Android DEX自動拆包及動態加載簡介 機器學習中的數據清洗與特征處理綜述 深入理解Objective-C:Category Kafka文件存儲機制那些事 Quartz應用與集群原理分析 序列化和反序列化 美團O2O排序解決方案——線上篇
2017年,我們會有更加系統的選題策劃,全面覆蓋美團大前端、后臺、系統、算法、測試、運維六大技術通道,還有餐飲、酒店旅游、到店綜合、平臺、廣告、技術工程與數據平臺、金融服務和企業平臺各部門技術團隊。
2017年,我們會保持每周至少兩篇技術實踐文章的節奏,除了每月線下技術沙龍之外,還會定期舉行線上技術直播,并把這些內容轉成文章,分享給無法到場的讀者。
2017年,值得期待。
總結
以上是生活随笔為你收集整理的2016,你最不应该错过的热门技术文章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息中间件系列(九):详解RocketM
- 下一篇: 最新2019 蚂蚁金服4面(Java)面