帶着工做中的一些疑問,我參加了在上海舉辦的QConf 全球軟件開發大會。會議以主題的形式按分會場召開,我主要選擇知名網站案例分析、大數據處理技術、高效能團隊建設和金融系統架構與設計四個主題內容。三天會議下來,經過和業界的前輩和同仁溝通交流,加深了我對一些問題的思考。下面結合我我的理解和會上的所見所聞,從四個主題方向分別進行介紹。緩存
1. 知名網站案例分析 性能優化
該主題下,我主要聽了阿里巴巴帶來的「跨境網站性能優化的挑戰和思路」。背景是:跨境電子商務網站,因爲各類緣由如買家分佈地區分散,而賣家多來自國內,而且嚴重依賴於搜索爬蟲引流而使得性能優化的手段受到很大的限制。這些特色決定了優化思路與傳統的網站思路會略顯不一樣,也會出現傳統網站不一樣的問題。主要有兩類:服務器
a. 爬蟲依賴問題,性能優化手段受到了很大限制:網站性能的優化,不少時候是經過異步加載(Ajax)實現用戶體驗的提高。因爲該網站依賴搜索引擎的引流,致使不能經過異步加載方式提升性能。緣由很簡單,搜索引擎須要解析網站的內容來決定該網站與搜索關鍵字的匹配程度,而若是使用異步加載網站內容,則搜索引擎沒法抓取網站內容,致使網站排名靠後。可是,若是不下降響應時加載的內容,在網速不變的狀況下,性能是很可貴到大的提高的。最終的解決方案是,Google出臺了一套標準,經過在網頁源碼中增長特定標籤來解決該問題。即正常訪問時,網站仍然是經過異步加載方式加載頁面。當爬蟲抓取網頁時,若是遇到前面說的特定標籤,會自動發起第二次請求獲取網頁內容。聽到這個解決方案後,有人會提出,其實咱們本身也能夠識別出爬蟲訪問和正常訪問。而後,根據不一樣的請求源,採起不一樣的加載方式。理論上,這種方式是可行的。可是,商業經驗告訴他們,這種迎合爬蟲請求的方式是有可能會受到反做弊程序的懲罰的。因此,商業社會,不只僅是技術的考量,還要有商業因素的考量。網絡
b. 買家分佈在多個國家,網速差異很是大,如何保證性能:即便網絡通暢的狀況下,物理距離自己就是一個問題。解決的方法是在不一樣的地區分別部署服務器,增長靜態文件的緩存力度,經過CDN將請求分發到距離最近的服務器。維護的過程當中,須要查看CDN的迴流狀況,若是迴流比例過高,須要仔細檢查引發迴流的緣由。只有迴流比率較低,即大部分狀況下命中緩存,網站性能纔能有保障。架構
2. 大數據處理技術異步
3. 高效能團隊建設性能
該主題下,我主要聽了由豌豆莢帶來的「如何經過文化建設來提高團隊效能」。他們認爲:文化是一我的羣的共同特性,是他們在具體行事中的思惟方式的一種內在基礎與外在表現。文化建設必定程度上來講是對這些共同特性的有意識的、主觀的刻畫。然而正因如此,因此文化建設既是有排他性的,也必定存在被團隊中的具體個體所排斥的問題。 所謂「好」的文化不是無視這些文化自身的問題,而是在文化建設的基本原則、規則與邏輯中找到一個合適的方式來消化這些問題,使文化與具體行事之間得以契合。所以一切無視文化的實效性,而空談文化建設的行爲都無異於耍流氓。大數據
我理解豌豆莢做爲一個創業團隊,在從幾人、幾十人到兩百人的團隊規模的快速推動中。主要經過四個手段解決個體特性與團隊特性之間的矛盾,而且作到在兩者共洽以提高團隊的效能。a. 開放的團隊文化:不只僅體如今開放性的辦公室(沒有老闆辦公室),更加體如今思想的開放性。鼓勵團隊成員打破權威,追求心裏的真理,挑戰CEO是一件沒有任何壓力的事情。b. 自上而下的彙報制度:管理層按期的向全體員工彙報公司的發展狀況以及戰略規劃,培養每位員工的主人翁意識。c. 信任每一位員工:公司內部沒有祕密,包括公司的盈利數字,帳上的現金等信息,都放在文檔庫裏面。每一個人都有權限,須要時能夠查閱。一開始會擔憂,員工泄密怎麼辦?其實,沒什麼能夠隱瞞的,競爭對手能夠從不少渠道知道你的數據,只要你的數據是真的就不怕泄密。d. 高效的合做方式:尊重每一個人的工做時間,保證每一個人工做時間的連續性。每一個人都分享本身的Google日曆,須要開會時經過Google日曆便可,無需詢問。若是不想被打擾,任何人都不能干擾你的工做時間。優化
4. 金融系統設計與架構網站
該主題下,我主要聽了阿里金融帶來的「雲決策平臺與應用」。主要分享了:互聯網信貸業務特性與問題、雲決策平臺應用架構及解決方案和雲決策平臺技術架構。阿里金融是當前互聯網金融領域作的比較成功的一家。他們基於阿里電商的交易數據,線上計算出客戶的信用等級。其中,對於易變的業務規則的處理和我所在項目的計算引擎很是類似。阿里也採用了Drools規則引擎來處理易變的業務規則。可是,我在使用過程當中,遇到了性能瓶頸,速度很是慢。經過和阿里嘉賓進行溝通,他們在規則引擎的基礎上寫了一個編譯器,在編譯時將規則引擎文件編譯成Java代碼。由於,規則引擎文件在運行時是解析執行的,速度必然會慢,經過編譯後,運行時無需再解析,性能會有大的提高。這個經驗對我很是有借鑑價值。咱們沒有人力去開發一個編譯器。可是,能夠沿着這個路子,將規則引擎文件作成編譯器代碼,在運行時經過一次反射再調用,速度也會有大的提高。這也是我當前正在作的工做。
此次參會,收穫頗豐,美中不足之處在於每一個專題的分享時間過短,致使內容的深度不夠或者忽略不少細節,相關經驗不足的人員聽起來很是費勁。因此,在會後,大膽的和演講嘉賓面對面的進行交流。不用「膽怯」他們不少人也是和咱們同樣,出道不久。即便是很是資深的人士,也無所謂,參會的目的不就是爲了提升自我嗎?學到東西纔是最重要的。