Tag Archives: memcached

Netflix 開發的 Delayed Queue

原來這個叫做 Delayed Queue,難怪之前用其他關鍵字都找不到什麼資料... (就不講其他關鍵字了 XD) Netflix 發表了他們自己所開發的 Delayed Queue:「Distributed delay queues based on Dynomite」。 本來的架構是用 Cassandra + Zookeeper 來做: Traditionally, we have been using a Cassandra based queue recipe along with Zookeeper for distributed locks, since Cassandra is the de … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , , , , | Leave a comment

Facebook 的 mcrouter

這也不知道積了多久,九月 Facebook 的文章,最近被同事提起來才又仔細看:「Introducing mcrouter: A memcached protocol router for scaling memcached deployments」。 memcached 應該當作普通的 cache layer 來用,拿來放掉了也沒關係的資料。如果掉了會很痛的資料應該丟到 Redis 或是 MySQL 這類 persistent storage。 但有些資料介於兩者之間,掉了會讓使用者用起來不太爽,但也不會死人... 於是總是想要在這上面做些改善。 Facebook 開發的 mcrouter 就可以拿來解這類問題。其中一個 scenario 是「寫的不多,但讀德很多」,寫的時候寫到所有機器上,但讀取時只挑一台: 而這個架構其實可以配合用在 memcached 的 HA 機制上。當有機器爛掉重開機變成空的 cache server 回來時可以暖機: 不過程式看起來並不好編,要先搞定 … Continue reading

Posted in Computer, Database, Murmuring, Network, Programming, Software | Tagged , , , , , , | 1 Comment

PHP 的 Memcached 的眉眉角角...

把 PHP 的 Memcached 整理一下,未必適合其他人用。 設定上: 平常應該要打開 libketama 相關設定,包含了 OPT_DISTRIBUTION 與 OPT_LIBKETAMA_COMPATIBLE。 多台 server 要注意使用 hostname 或是 IP address 連線 (尤其跨程式語言時),在 consistent hash 時會有差異。要避免因為 hostname 發生的問題,可以把這段設定放到 JSON 檔裡與其他程式語言共用。 使用 SERIALIZER_JSON,一樣是為了與其他程式語言相容。 使用上: add() 在 key 存在時會失敗,set() 則會覆蓋過去。 在 add()、set() 裡的 expiration … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , | Leave a comment

用 Go 發展的 groupcache...

groupcache 是 Brad Fitzpatrick 最新的作品 (之前最有名的兩個作品是 memcached 與 OpenID 1),目標在於取代一部分 memcached 的功能。 以官方的說明是: groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. 另外一篇介紹文是「Playing With Groupcache」。 跟 memcached 差異最大的地方在於「沒有更改與刪除的功能」,一旦寫進去後就不會變動。在放棄 update/delete 的特性後,換來的是: Cluster 的能力。 處理熱點的能力。 … Continue reading

Posted in Computer, Murmuring, Network, Software | Tagged , , , , , , , | 1 Comment

mctop:memcache top

mctop 其實是個看得懂 L7 packet 的 sniffer XDDD 軟體是由 Etsy 所開發,出自:「mctop - a tool for analyzing memcache get traffic」。跑起來像這樣 (官方的範例圖): 在 GitHub 頁面上官方有提到因為是透過 ruby-pcap,目前沒有辦法完全承載大流量 (會有 packet loss),不過看起來是 profiling 必備工具 :p

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , | 1 Comment