iSearch4性能優化之路一浪概要引擎系統架構優化結果總結索引結構優化查詢流程優化其他優化iSearch4引擎系統架構
1.DoFactory.GangOfFour.Abstract.Structural?? AbstractFactory:提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。???工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。
iSearch5的性能挑戰iSearch5性能優化我們做了什么Searcherresultcache Bitmap索引索引截斷索引排序索引分層其他優化Searcherresultcache35%query重復出現索引實時更新Cache失效策略結果合并100%性能提升上次查詢時doc集合新增Bitmap索引寶貝類型:90%+是一口價類型的高頻詞:男女正品2013倒排求交,計算量大正排過濾,不適合高頻詞性能提升100%索引截斷原始鏈A截斷鏈B截斷鏈C截斷鏈性能提升70%索引排序絕大部分query和某幾個類目相關很多term和某幾個類目相關排序后性能30%排序后倒排索引大小下降30%排序前排序后索引分層分層前單集群分層后雙集群性能提升30%其他優化異構機器調度大增量merge粗排
JAVA經典算法40題【程序1】?題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第四個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少??1
SearchPlanner-搜索共享業務平臺亞夫曾經的淘寶搜索系統架構100+個不同應用調用搜索服務20+個不同功能的子系統構成了淘寶的搜索系統存在的問題:無法提供完整的搜索服務用戶體驗不一致,算法團隊的各種創新成果不能共享存在嚴重的安全隱患引擎及其它系統更新換代困難各應用重復工作,效率低下現在的淘寶搜索系統架構解決了舊架構的各種不足,將N*M的復雜關系,變為了N+M各業務在SearchPlanner平臺上互相融合,涌現出了一系列創新型業務,成為了一個創新支撐平臺面臨的技術挑戰:穩定性開發效率數據驅動的業務快速迭代SearchPlanner整體架構提供三個層次的服務:完整的搜索業務服務搜索的基礎服務平臺的基礎服務
iSearch5商品搜索特色功能引擎平臺調度系統喜德iSearch5插件機制總述iSearch5正排定制iSearch5查詢流程控制iSearch5截斷與分層iSearch5引擎插件定制能力算分插件QRS插件文檔處理插件動態摘要插件Functionexpression插件Sorter插件iSearch5正排定制
OpenSearch—可定制式開放云搜索平臺一淘及搜索事業部國泊(郭瑞杰)大綱個人介紹性能優化2008年7月畢業于中科院計算所,工學博士,研究方向實時搜索2008.8新的啟程:重新實現查詢引擎新的啟程:組建團隊,重新實現索引引擎(indexlib)1.反思:優化存儲、online解耦飛天2.應用:全網搜索開啟HA3準實時搜索時代(Swift+HA30.6)應用:CNZZ通用站內搜索(替換soso站內)1.提出產品想法2.團隊組建&探路:外包式定制?開放定制3.技術決策:與全網搜索服務必須分離
設計模式詳解何謂設計模式在面向對象程序設計(OOP)過程中,我們經常會遇到很多重復出現的問題,總結解決這些問題的成功經驗和最佳實踐便形成了設計模式(DesignPattern)。其核心思想是將可重用的解決方案總結出來,并分門別類。從而指導設計,減少代碼重復和優化體系結構。采用設計模式的益處重用,避免代碼重復冗余優化體系結構提升系統的可維護性和彈性代碼更加容易測試,利于測試驅動為性能優化提供便利使軟件質量更加有保證增強代碼可讀性,便于團隊交流有助于整體提升團隊水平設計模式、重構和Antiparttern設計模式是成功經驗和最佳實踐的總結,指導設計人員采用正確精良的設計。
iSearch演變歷程太奕概述了解iSearch引擎歷史變革iSearch遇到過哪些問題iSearch如何解決這些問題通過解決方案揭示iSearch的進化過程如何為iSearch的技術發展保駕護航iSearch引擎歷史問題與挑戰問題與挑戰技術變革問題與挑戰技術變革問題與挑戰倒排容量優化正排容量優化保障機制用戶對引擎的期望:能夠支持更大領域的業務需求能夠更快速的響應業務需求一個重要的前提:保證上線版本的服務質量保障機制
介紹一淘及搜索事業部-搜索技術-引擎平臺-調度系統周鴻斌(悟非)內容提綱ISearch5AdminISearch5系統架構ISearch5 admin介紹異構機器不停服務切換大增量數據分發(DeployExpress)系統結構功能特性應用服務監控(Amonitor)系統結構功能特性
Web服務器工作原理概述很多時候我們都想知道,web容器或web服務器(比如Tomcat或者jboss)是怎樣工作的?它們是怎樣處理來自全世界的http請求的?它們在幕后做了什么動作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session這些類)在其中扮演了什么角色?這些都是web應用開發者或者想成為web應用開發者的人必須要知道的重要問題或概念。在這篇文章里,我將會盡量給出以上某些問題的答案。請集中精神!文章章節:什么是web服務器、應用服務器和web容器?什么是Servlet?他們有什么作用?
寫一個函數,例如:給你的abc則輸出
Angular2現狀當前最新版本為2.0.0-alpha.40,2015年10月9日發布,不兼容Anguar1.x開發時不再依賴Traceur或者Babel,推薦使用TypeScript進行編譯為ES5功能基本穩定,但缺乏相關文檔和樣例支持Chrome,Firefox以及IE10+Angular2核心特性基于注解的組件化依賴注入模板及指令屬性綁定過濾器(Pipe)表單路由HTTP訪問基于注解的組件化Angular2中,一個最基本的組件由3個部分組成:Component:定義組件的名稱,以及要注入的服務View:定義組件的試圖,即UI展現Class:組件的邏輯實現,基于ES6的class語法依賴注入Angular2中,注入一般在Component完成,使用viewBindings屬性。
淘寶搜索業務架構優化桂南Agenda在線架構業務雙11優化搜索在線架構重點模塊iSearch5:引擎平臺,搜索服務的核心Opensearch:十分鐘搭建搜索引擎SearchPlanner:搜索的總指揮UPS:個性化信息存儲和計算CM:服務定位和流量切換工具支持的業務傳統SRP主搜索一淘商品搜索天貓商品搜索店鋪搜索店鋪內搜索支持的業務傳統SRP主搜索一淘商品搜索天貓商品搜索店鋪搜索店鋪內搜索比價優惠主搜索產品搜索一淘優惠購一淘優惠一淘比價頁如意淘支持的業務傳統SRP主搜索一淘商品搜索天貓商品搜索店鋪搜索店鋪內搜索比價優惠主搜索產品搜索一淘優惠購
淘寶搜索離線系統介紹一淘搜索事業部淘寶搜索dump中心木桑概要淘寶搜索的離線場景計算需求存儲需求全量流程&增量流程集群運維開發管理展望Q&A淘寶搜索的離線場景離線場景約束條件結構化數據的完整性\準確性:數據量大而又要完整、準確,更新及時性:更新多源頭又要同步,更新數據量大而又要實時性架構業務邏輯友好性:全量增量流程不同而又要業務代碼一致等淘寶搜索業務簡介09年前架構Dumpserver……Dumpserver07年:12臺08年:48臺OracleSearchEngineXML09年架構-引入map/reduce09年架構–job序列計算需求-09年架構的問題Job鏈太長;多次重復數據I/O;問題不好查;對數據庫壓力大;業務邏輯分散,開發效率不高;Job數量跟隨業務膨脹;hdfs只有順序寫能力,沒有隨機讀寫;增量任務速度慢;計算需求-理想狀態和數據庫關聯少;全量時間控制在2小時內,每天做一次全量(join)計算;
搜索離線生產集群中的流計算莫問個人背景簡介花名:莫問真名:王峰2006年畢業后加入公司雅虎中國(垂直搜索引擎團隊)阿里云(云計算服務團隊)淘寶/一淘(網頁抓取團隊)技術方向:搜索離線系統*提綱搜索離線系統技術體系Hadoop-2.0YARN介紹StreamService計算模型StreamService服務調度StreamService運維操作*搜索離線系統技術體系*HDFSYARNHBaseMapReduceStreamServiceHQueue搜索離線業務網頁抓取數據處理數據統計PigHive數據挖掘…….Hadoop-1.0VSHadoop-2.0*ApplicationsonYARN*StreamService計算模型基本概念拓撲結構消息管理進度管理編程接口*基本概念StreamService:完成一套業務功能的流計算服務StreamRole:1個Role表示1組具備相同計算功能的計算單元StreamWorker:StreamRole中的計算單元StreamSource:StreamWorker的數據輸入源StreamSink
背景介紹總體設計輔表設計實時更新通用能力性能優化故障恢復未來工作背景介紹廣告引擎架構背景介紹廣告引擎架構廣告數據的多級結構背景介紹廣告引擎架構廣告數據的多級結構一次廣告查詢的流程背景介紹newSn之前的狀況isearch3.4.1+table,結構復雜不合理;也沒有對主輔表支持較好的成熟引擎searchNode代碼無層次,功能/性能/業務邏輯交織在一起newSn做到了解耦業務邏輯,業務流程插件化引入持續集成,保證代碼質量查詢性能4倍提升故障恢復時間大幅降低總體設計索引層:支持主輔表結構,統一的數據層應用層:抽取通用能力,與業務邏輯解耦通用數據接口DSAsummer框架:處理流程插件化輔表設計主表和輔表的區別docId分配機制查詢時輔表字段的訪問
應用場景實時引擎消息系統應用場景—主搜需求需要解決的問題性能優化更快的從異常中恢復更好的擴展性應用場景—主搜swiftdumphdfs實時引擎Disk Builder Doc Processor Chain Searcher Reader Query實時引擎—優化手段批量job可以利用offline計算資源做索引優化全局排序靜態截斷大增量merge實時引擎—大增量MergeMerge用于回收被標記刪除的文檔,減小物理內存和多segment對查詢性能的影響引擎以version和segment為單位組織索引。每個version包含多個segment,segment中包括倒排(index)、正排(attribute)和詳情(summary)MergeStrategy:指segment合并的策略,目前引擎提供optimize、balanceTree、realtime三種策略實時引擎—大增量MergeSearcherSegment_0IndexReader1Query實時引擎—按行切換
These tutorials are intended for developers who wish to write rich AJAX applications using Google Web Toolkit. You might be a Java developer who would like to be able to apply the software engineering principles of object-oriented programming and leverage the tools in your Java IDE when writing applications for the web. Or you might be a JavaScript guru curious about GWT’s ability to generate highly optimized JavaScript.
Google Web Toolkit的縮寫,有了GWT可以使用Java編程語言編寫AJAX前端,然后GWT會交叉編譯到優化的JavaScript中,而JavaScript可以自動在所有主要HYPERLINK"http://baike.baidu.com/view/7718.htm"瀏覽器上運行。GWT允許開發人員使用Java編程語言快速構建和維護復雜但性能高的JavaScript前端 應用程序,從而降低了開發難度,尤其是與EclipseGoogle?結合使用時,優勢更明顯。