COSCUP 2010 筆記、投影片與整理

COSCUP 2010 結束一段時間了, 錄影檔也都有釋放出來, 可以搭配著看. 🙂

COSCUP 議程與錄影檔

詳見: COSCUP / GNOME.Asia 2010 簡報與錄影檔案

COSCUP 錄影擋下載 (感謝 Pixnet)

COSCUP 2010 議程筆記

Yahoo Traffic Server, a Powerful Cloud Gatekeeper - Shih-Yong Wang (Software Engineer, Yahoo! Taiwan)
  • Proxy Caching.
  • Proxy Caching: explicit, transparent
  • Reverse Proxy Caching: deploy on "server side"
  • YTS: high performance web caching solution (Squid, Varnish, HAProxy, Nginx)
  • Traffic Edge (Inktomi)
  • 買 2~5 名的 Search engine, 第一名不賣. XD
  • Traffic Server: multi-threaded state machine.
  • YTS 跑再 64bit OS 效能好很多.
  • YTS 有自己的 DNS resolver.
  • YTS: supports an extensible plug-in architecture (有強大的 API, 可以寫自己的 Plugin)
  • YTS: 可以當L7 的 Switch.
  • YTS vs Squid - 每秒 QPS 可以跑到 4萬 ~ 4萬5千, Squid 跑 5000 request. (通常 2800~3000 IO 就滿了)
  • Service time: YTS 可以在 50ms 以下.
  • Y! 如何使用 YTS?
  • Yahoo! CDN 使用 YTS.
  • Y! CDN 的數字: 128TB per day
  • 17 billion requests per day, peak 20+Gbps.
  • Y! CDN 可做到 90% hit rate.
  • Yahoo Connection Proxy (HTTP Proxy)
  • Cache connection.
  • 讓網友在最近的地方連上線.
  • client -> 連到 Y! 最近的點, 然後, 連到 US, UK 都會走 Y! 內部的 connection (Cache connection)
  • provides keep-alive support
  • keep-alive: 在 session 用完前, 可以一直將資料送給你. (不然 HTTP 要走 3 Tier)
  • YTS 做分流. news.yahoo.com, "/", "api", "/..y/I" ... 用 sub dir 做分流 (分多台不同機器)
  • YTS: Open Source: http://trafficserver.apache.org/
  • Setup YTS.
  • install YTS.
  • create mapping rules (remap.config)
  • map tw.image.xxx.yahoo.com http://localhost:8080
  • setup cache storage (storage.config)
  • enable reverse proxy (records.config)
  • DNS entry of the advertised hostname of the origin server => YTS (ex: tw.image.XXX.yahoo.com => tw.ytsvip.XXX.yahoo.com)
  • map: map tw.image.XX.yahoo.com/oa tw.m.XXX.yahoo.com
  • map: map http://ab.cd.yahoo.com:9876/A.html... ef.gh.yahoo.com/dl
  • map 甚至可以 http 指到 https 去...
  • Cluster Caching.
  • Object Freshness (更新時間)
  • YTS 一定要: 後端需要 support expires 和 max-age header
  • freshness_limit = (date - last_modified) * threshold
  • Cache Management: cache preloading.
  • 動態網址 ?, ;, cgi, cookie oject, 同一個 URL 來自不同網友, 都可以 cache.
  • YTS 要決定 Cache Size.
  • 越常用的要越被 Cache 住, 要如何算.
  • 每個 object, image, js, css 平均 Size. Total 容量要多大.
  • YTS 建議用 raw disk. (跳過 OS I/O, 可以跳過 kernel)
  • 若要放在 Ram 裡面: proxy.config.cache.ram_cache.size
  • YTS 是 32bit only, 所以 2.5~3G 的 ram.可以吃.
  • proxy.config.cache.ram_cache_cutoff
  • YTS startup, 需要 initialize 需要 10s.
  • 那 10s 是無法 cache 的.
  • 動態 URL 預設都是會被 cache 住的.
  • YTS Plugin: regex mapping, WoE (Where on Earth) 哪邊來, 哪邊可以看, 哪邊不能看.
  • cookie based routing
  • Oauth request caching
  • map CAPTCHA session
  • traffic throttle
  • User -> JS, CSS
  • User 連到某服務, 會導到最近的機房 (Keep-Alive)
  • YTS 的 L7 URL Hashing.
  • YTS 是 multi-thread, 其他得都是靠 fork.
  • Cookie cache, 某些服務要區分, 台灣, 香港, 美國, 依據不同地區, 去不同地方(cache public data)
Cloud Experience — from Google to Delta - 翟本喬 (台達電子 資深處長)
  • GFS, Hadoop (Single master)
  • MapReduce
  • MapReduce 最初是要建立 Search index 用.
  • 所以 MapReduce 會自動去算最大值, 最小值.. 等等....
  • Ram 速度是 HD 的 1000 倍.....
  • 計算的單位, 可以切成很多個小塊, 就可以用便宜的電腦來解決.
  • 3年當一台, 所以 1000 台的狀況, 每天會當1台..
  • 軟體寫得好, 硬體可以省非常多的錢~
  • 5年的電費, 是比 Server 還貴~
  • 當初是用面積來算錢的, 所以在面積內, 可以塞多少機器, 就盡量塞..
  • 買電風扇.... 來解決散熱~
  • 租金改面積 + 用電量, 所以改 2U 的機器~
  • 硬碟用魔鬼氈...
  • 多久壞一次沒關係, 只要在別人沒發覺前修好就好了
  • 大多電壓現在主機板都沒有在用了
  • 將電壓改成一條就好(都需要 convert)
  • Power 省 92%, 12v 可以掛汽車電池就可以搞定, 不需要 UPS.
  • Large data sets, Parallel and distributed computing, Fault tolerance.
  • Cloud computing 定義.
  • On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured Service(使用多少, 付多少錢)
  • 真的是錙銖必較
  • Cloud ... 是 Cloud, 還是只是一堆電腦賣給你~
  • 掛汽車電池代替ups真是個不錯的想法耶,穩定性呢?
  • Private Cloud: 在 Cloud 裡面, 單獨的一個區塊, 單獨存你的資料, 跑你的程式.
  • clonn: 把漏電亮去掉, 然後放對位置, 可以用 4~5年, 放錯位置只能用 1年~
  • WebApp/SaaS
  • WebApp/SaaS, IaaS
  • 一個租用的系統, 不用的時候可以放掉 = SaaS.
  • 如果一個租用的系統, 不用時還是繼續放在那邊, 就是 WebApp
  • 台達 = 電源
  • Data center 和 Cloud Computing
  • IaaS: Data center, IT equipment, Systems software, Cloud infrastructure software
  • 省電和效能的比較.
  • 硬體成本所有元件的成本, 都列出來.
  • 請問一下,「12v 可以掛汽車電池就可以搞定, 不需要 UPS.」,是指說電腦的12V電壓直接吃UPS的供電,還是說用汽車電池再轉成110Vac供應給power supply呢??thanks!!
  • 應該說, 用汽車電池就可以不用 UPS.
  • 我最記得 memory 才是王道...XD
App Engine 大爆料 - 葉平 Ping Yeh
  • 投影片
  • App Engine 免費版, 一分鐘只能寄 8封信
  • 是的..所以要用 mail Queue or Task Queue 的方式來跑....
  • i18n 可以走 po / mo, 但是於 Template 不是用 _().
  • 說到 mail Queue ... Pear Mail_Queue
  • 有用到 Google 的服務, 都要用 try-except 包起來, 並寫 log 紀錄.
HTML5: Building the Next Generation Web Application - Eric Bidelman (Developer Advocate, Google)
  • JSON.parse();
  • JSON.stringify();
  • String.trim(.....);
  • rel="pingback"
  • a rel="pingback", link rel="prefetch"
  • html 5 的漂亮表單
  • 有個問題, 前前一場 Opera 講 not in HTML5 -> db storage.
  • 但是後來這兩場, 都有講到 db storage.
  • 後來有把它獨立出來,我之前的分享噗裡有提到
  • 可能講者已經準備了,所以只好繼續拿出來講
  • Eric 有說他講的是 "HTML5++" 😉
  • 26 HTML5 Features, Tips, and Techniques you Must Know
  • Mike Smith 講的 html5rocks.com 其實是 Eric Bidelman 建的 site
HTML5 for Programmers Michael(tm) Smith (HTML Activity/WG lead, W3C)
HTML5 - More Web for More People
  • canvas, video, audio
  • SVG, MathML
  • not in HTML5, geo, css3 transitions, webfonts, borders, db storage, device access apis.
  • Accesskey mode
xPad — Building Simple Tablet OS with Gtk/WebKit 陳品勳 penk (xpud.org)
  • 投影片
  • compile => 重新整理
  • parse 翻譯的 .mo 檔, 弄出 rosetta.js
  • plate UI - web-base 使用介面
  • plate.js - js 與 cli 溝通的橋樑
  • 用 JavaScript / CSS / HTML 來寫桌面
  • xPUD
  • xPAD
  • $job_request = "overloaded";
  • 以網頁回基礎的介面.
  • Web is the new graphic library!
  • I code in C, but a web developer in mind.
  • what a designer.
  • finger-friendly
  • 觸控式的介面 - No mouseover event, Finger 要可以輕易存取.
  • 用 iframe 去遮掉背景程式.
  • Virtual Keyboard - 螢幕小鍵盤 + 輸入法 + 好的鍵盤排列
  • fvkbd-gtk - 鍵盤
  • fvkbd-gtk + scim + scim-bridge patch
  • 捲動效果 - Kinetic scrolling.
  • TouchWeb.
  • 電腦無所不在原則, 讓人感覺不到的介面, 才是好的介面.
  • Feelingless UI - "TouchWeb" browser.
  • http://gitorious.org/fvkbd
  • 在網頁開 gtk / qt 寫得程式.
  • 用 mozplugger 來作嵌入, NPAPI plugin
  • 在網頁裡面開一個 XWindow, 靠裡面的程式, 去攔截 X 的 id, 在 re-parent 塞進去 網頁裡面.
  • 寫自己的 Window Manager
  • TableWare .... writing window manager in html / css / javascript. (web base 的 window manager)
  • TableWare - WebKit + JS/D-Bus bridge, NPAPI plugin + XCB (Window manager, 將 notify 都送去 D-Bus)
  • 未來: GObject DOM binding(取代 D-Bus) + jQuery Mobile + Comet Server
  • http://wiki.github.com/penk/mkxpud/next-generation-of-xpud
  • WebKit: HTML5, CSS3 支援, Chrome OS 支援.
  • 以功能發展的方向來說, 還沒考慮到 Security. 😀
The NoSQL Movement: CouchDB as an example - 周立瑋 sleepnova
  • http://couchdb.apache.org/
  • 講不完, 等 投影片
Building a Cloud Computing Platform by Using Open Source Software - Michael Pan (CEO, nephosity)
  • Hadoop-core provides map-reduce
  • HDFS provides data management funcationality
  • Hypervisor / Virtual machine
  • QEMU (virtualizer), KVM, Xen, VirtualBox-(Desktop only)
  • Single big file.
  • (OS)
  • Platform - Data management, Map reduce, Workflow management, Messaging.
  • app | wfm | MR | DBM | VM/ OS 機器由下到上的流程
  • 兩台機器溝通 Messaging | TCP/IP | ethernet.
  • Distribute / Replicate your data access network.
  • SQL vs NoSQL, small file vs. BLOG storage
  • Centralized vs. decentralized
  • HDFS (Hadoop), DDFS (Nokia), Cassandra (Facebook / Apache), MongoDB, CouchDB(Apache), MySQL (Oracle), Ceph (DreamHost)
  • Ceph release as part of Linux v2.6.34
  • Data management (DB)
  • Save: Split and parallelize data, Query: Combind the results of the split tasks for a final result.
  • Workflow management: Oozie (Yahoo), Pig (Hadoop / Apache), Cascading (Concurrent), Azkaban (LinkedIn), Pomsets (nephosity)
  • Messaging: qpid (Apache), RabbitMQ (SpringSource / VMWare), ZeroMQ(iMatix)
  • Cluster management: puppet labs, Scalr, Ganlia, Nagios. (Scalr, Nagios)
  • Configuration management
  • Dynamic configuation that cannot be stored in OS image (因為新的機器啟動/移除, 設定檔一定得要新增 / 移除)
  • Analytics: Compute load, Network usage.
  • Dynamic load balancing and scaliing for your cloud. (loading 重, 自動加機器, loading 輕, 自動減少機器(instances))
  • Analytics: Graphite (Orbitz), Scalr, Nagios, Gangliz.
  • Michael Pan [email protected]
  • Dynamic provisioning: Eucalyptus, OpenNebula / Haizea, Condor (via VM universe), TCloud Elaster (not yet released)
  • Pomsets on Pipy - http://pypi.python.org/pypi?:action=search&term=pomsets&submit=search
  • 歐洲有規定, 儲存在裡面的資料, 不能離開歐洲. @.@a..
快速佈署叢集式的搜尋引擎 CrawlZilla - 郭文傑 (國網中心)
  • 國家高速網路與計算中心
  • Nutch - 目前文件做的最好地搜尋引擎. @.@a..
  • Crawlzilla - 實驗版 NutchEZ
  • 於 2010 重新命名為 Crawlzilla
  • 支援中文分詞, 解決中文亂碼及中文支援
  • http://code.google.com/p/crawlzilla/
  • 支援同時存在多個搜尋引擎
  • 開發, 測試 在 Ubuntu 10.04
  • PC1(Master), PC2, PC3, PC4 (底層)
  • Tomcat + Hadoop
  • Crawlzilla System Management 控制 Tomcat, Hadoop 狀態
  • Nutch + Lucene, JSP
  • Crawlzilla 中文分詞
  • 英文以 "詞" 為文字的基本單位
  • 中文以 "字" 為文字的基本單位
  • 中文分詞使用 ik-analyzer
  • ik-analyzer 支援 Lucene
  • 下載後, 解壓縮, 點選 install, 輸入系統密碼, 就可以進入安裝.
  • 會自己上 Google code 抓取套件, 進行安裝.
  • 執行: 輸入 crawlzilla
Solr on Cassandra - Gasol (PIXNET)
  • 投影片
  • date:[* TO NOW]
  • Nutch is based on Solr & Lucene.
  • Query Boost: title:老虎^5+OR+title:老鼠
  • Cassandra
  • Cassandra 是 facebook 2008 放出來的
  • Partitioning: md5(key) -> Token
  • Token Range 0~2^127
  • Cassandra: 寫比讀快
  • 先保證寫入正確.
  • 所以先寫入 Disk 再到 Memory.
  • Data Model: Keyspace (database), ColumnFamily (table)
  • TimeUUID (照時間 Sort)
  • Consistency.
  • W+R > N, 代表美台機器都會有 data.
  • Cassandra 拿來當 memcached 用.
  • MLT Algorithm, 找出 term 的頻率
  • keyword 出現在這篇文件的次數, 但是若在其他文件出現的次數也很高, 分數就會下降~
Lighting talk
  • 5 mins. 工商服務.
  • http://www.plugboot.com/ .... USB boot on X86...
  • 產品秀 XD
  • JetPlurk
  • PhoneGap = HTML + CSS + JS, Mobile framework.
  • 高中數學裡, scilab 的輔助應用.
  • 明明是簡單 3行的快速入門, 但是完全看不懂.
  • 這個並不是粗淺的數學阿. Orz..
  • goristock, Analysis tools for Taiwan stock - Toomore
  • 將一切交給 *無情* 的機器人
  • 原來沒有祝生日快樂... 是很無情的. Orz..
  • http://github.com/toomore/goristock
  • import goristock
  • g = goristock.goristock(2363)
  • Add [email protected] 加入 Google talk.
  • SFD 軟體自由日
  • 原來軟體自由日 跟 ICOS 有關系
  • http://way3sec.blogspot.com/2010/01/google.html
  • Powertop 測量比耗電能的工具
  • http://www.lesswatts.org/projects/powertop/
  • 參考 ACPI 拿到所有資訊.
  • apt-get install powertop
  • sudo powertop
  • firefox-bin 耗費 13.4% 的電力.
  • mozilla 的產品一向不環保吧? XD
  • 要用 Notebook 的電池, 才看得出效果.
  • Motivations - 檢查 Android 硬體效能 (Benchmarking for Android)
  • 0xBench
  • Project name: 0xBench
  • 或 0xBenchmark
  • 沒想到現在還能聽到行列輸入法.
  • 不過, 在無蝦米破紀錄前, 行列輸入法是之前的冠軍.
  • 行列 on iBus
  • http://www.linuxpilot.com/
  • NicoFox

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料