• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Moxi - Memcached Proxy
 

Moxi - Memcached Proxy

on

  • 21,418 views

moxi is a memcached proxy with several features which can help keep the memcached contract whole in complicated environments. It also brings several optimizations to memcached deployments, without ...

moxi is a memcached proxy with several features which can help keep the memcached contract whole in complicated environments. It also brings several optimizations to memcached deployments, without requiring any changes to the application software using memcached. For more, visit: http://labs.northscale.com/moxi/

Statistics

Views

Total Views
21,418
Views on SlideShare
16,781
Embed Views
4,637

Actions

Likes
31
Downloads
309
Comments
1

23 Embeds 4,637

http://blog.elgura.com 2825
http://labs.northscale.com 812
http://blog.intelligenia.com 507
http://www.thesavvyguideto.com 403
http://www.slideshare.net 38
http://abtasty.com 19
http://webcache.googleusercontent.com 5
url_unknown 5
http://prlog.ru 3
https://app01.kaonavi.jp 2
https://twitter.com 2
http://translate.googleusercontent.com 2
http://a0.twimg.com 2
http://localhost:4000 2
http://www.techgig.com 2
http://elgura.com.netzcheck.com 1
https://www.google.es 1
http://steveyen.github.io 1
http://www.netvibes.com 1
http://funpromo.ru 1
http://twitter.com 1
http://blog.elgura.com HTTP 1
https://ricardobartolome.wordpress.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • beautiful art
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Moxi - Memcached Proxy Moxi - Memcached Proxy Presentation Transcript

    • moxi a memcached proxy
    • who • steve yen • dustin sallings • matt ingenthron
    • rhymes with foxy
    • open source
    • multithreaded C
    • standing on the shoulders of giants • libmemcached • memcached • libevent
    • web stack apache php php php php memcached memcached memcached
    • choose your weapons apache php RoR Django perl memcached memcached memcached
    • php then... apache php php php php memcached memcached memcached
    • connection mesh apache php php php php memcached memcached memcached
    • moxi apache php php php php moxi memcached memcached memcached
    • moxi connections apache php php php php moxi memcached memcached memcached
    • moxi connections apache php php php php moxi memcached memcached memcached
    • moxi connections apache php php php php moxi configurable concurrency memcached memcached memcached
    • protocol conversion apache php php php php ascii protocol moxi ascii protocol memcached memcached memcached
    • protocol conversion apache php php php php ascii protocol moxi ascii protocol binary protocol memcached memcached memcached
    • auth’ed connections apache php php php php moxi auth’ed binary protocol memcached memcached memcached
    • consistent hashing apache php php php php moxi memcached memcached memcached
    • consistent hashing apache php php php php moxi a new server! memcached memcached memcached memcached
    • management channel apache php php php php dynamic reconfigurations and statistics moxi a new server! memcached memcached memcached memcached
    • GET de-duplication get item:2421 get item:2421 get item:2421
    • GET de-duplication apache get a b c get b c d get c d e moxi get a b c d e instead of... get a b c memcached get b c d get c d e
    • front cache apache php php php php front cache moxi memcached memcached memcached
    • front cache apache php php php php front cache moxi memcached memcached memcached
    • front cache apache php php php php Prefix-based. For limited number of hot items. front cache Served without moxi hitting wire. Simple expirations. Meant for replication friendly content. memcached memcached memcached
    • front cache hot items replicated across many front caches. moxi moxi moxi memcached memcached memcached
    • front cache hot items replicated across many front caches. moxi moxi moxi memcached memcached memcached
    • front cache hot items replicated across many front caches. lazily. moxi moxi moxi memcached memcached memcached
    • failure handling moxi moxi moxi memcached memcached memcached
    • failure handling for hiccups: configurable retry counts. then send misses and ERROR back to clients moxi moxi moxi memcached memcached memcached
    • failure handling for deep failures (and for planned server changes) dynamic reconfiguration messages moxi moxi moxi mgmt channel memcached memcached memcached memcached
    • failure handling for deep failures (and for planned server changes) dynamic reconfiguration messages moxi moxi moxi mgmt channel memcached memcached memcached memcached
    • draining and filling lazily migrate items from old server to new server moxi moxi moxi mgmt channel memcached memcached memcached memcached draining filling
    • draining and filling N time later, just use filled server only moxi moxi moxi mgmt channel memcached memcached memcached memcached drained filled
    • timeout
    • timeout • if a request takes more than X millisecs, moxi should return a miss or error
    • blackhole configuration • GET’s become misses • SET’s become error • clients never wait, such as trying to make a connection to a non- existent memcached
    • fire & forget SET client... moxi... session[‘shopping-cart’] = user_cart; sends... set session:123456 some_big_value receives... set session:123456 some_big_value sees a match with configurable prefix “session:” responds with STORED to client. receives STORED. forwards to memcached asynchronously. continues on its way.
    • inside moxi • memcached • libevent • libmemcached
    • inside moxi memcached hash item manager table slabber ascii binary protocol protocol handler handler drive_machine protocol state machine libevent
    • inside moxi memcached proxy hash item manager libmemcached front table slabber dyna-config matcher cache ascii binary ascii proxy ascii proxy binary proxy protocol protocol upstream downstream downstream handler handler protocol handler protocol handler protocol handler drive_machine protocol state machine libevent
    • inside moxi memcached proxy hash item manager libmemcached front table slabber dyna-config matcher cache ascii binary ascii proxy ascii proxy binary proxy protocol protocol upstream downstream downstream handler handler protocol handler protocol handler protocol handler drive_machine protocol state machine libevent
    • moxi embeds memcached memcached proxy hash item manager libmemcached front table slabber dyna-config matcher cache ascii binary ascii proxy ascii proxy binary proxy protocol protocol upstream downstream downstream handler handler protocol handler protocol handler protocol handler drive_machine protocol state machine libevent
    • moxi’s can talk to themselves but, they think they’re talking to memcached moxi moxi moxi
    • moxi’s can talk to themselves and to memcached and, they still think they’re talking to just memcached moxi moxi moxi memcached
    • moxi’s can talk to themselves and to memcached and, they still think they’re talking to just memcached moxi moxi moxi memcached memcached
    • moxi’s can talk to themselves and to memcached and, they still think they’re talking to just memcached moxi moxi moxi memcached memcached memcached
    • moxi’s can talk to themselves and to memcached(*) and, they still think they’re talking to just memcached moxi moxi moxi memcached tokyo memcachedb tyrant
    • starting moxi memcached command command-line line • memcached -m 512 • moxi -m 512 -z [configkey]
    • when can I get moxi?
    • today • upcoming features • draining/filling - August 2009 • everything else is done • Available Now
    • where can I get moxi?
    • links • getting moxi • http://labs.northscale.com/moxi • read, join list • moxi@googlegroups.com
    • support, training • available from NorthScale, Inc. • steve.yen@northscale.com • 888.399.5509 • support@northscale.com
    • questions?
    • thanks! photo credits • http://flickr.com/photos/davebluedevil/15877348/ • http://www.flickr.com/photos/theamarand/2874288064/ • http://www.flickr.com/photos/splityarn/3469596708/ • http://www.flickr.com/photos/heisnofool/3241930754/ • http://www.flickr.com/photos/onourminds/2885704630/ • http://www.flickr.com/photos/lunaspin/990825818/
    • talking to itself optimization
    • stats aggregation broadcasts “stats”. sums the responses. moxi memcached memcached memcached
    • flush_all broadcasts “flush_all” to memcached servers moxi memcached memcached memcached