Le téléchargement de votre SlideShare est en cours. ×
0
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
Prochain SlideShare
Chargement dans... 5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Handling Redis failover with ZooKeeper

12,449

Published on

Published in: Technologies, Éducation
0 commentaires
37 mentions J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Total des vues
12,449
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
3
Actions
Partages
0
Téléchargements
238
Commentaires
0
J'aime
37
Ajouts 0
No embeds

Signaler un contenu
Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Handling Redis failover with ZooKeeper Ryan LeCompte BaRuCo Lightning Talk September 2012
    • 2. Me• Rubyist at Spreecast in San Francisco• redis_failover, method_locator, synchronizable• http://github.com/ryanlecompte• lecompte@gmail.com• @ryanlecompte
    • 3. Typical Redis Setup
    • 4. Master Dies :-(
    • 5. What happens to your data andconnected clients?• Resque Jobs?• Sidekiq Jobs?• Cached pages?• Cached stats?• Rubygems?
    • 6. Scramble to manuallyreconfigure slave as master
    • 7. Update all Redis clients totalk to the new master
    • 8. Restart production servicesso they can see the new config
    • 9. What do we really want to do? NOTHING
    • 10. Failover should be safe and automatic
    • 11. Let’s talk aboutZooKeeper
    • 12. Open source ApacheProject (originally from Yahoo)
    • 13. Provides a set of simpleprimitives to help you build powerfuldistributed applications
    • 14. Automatically handlesnetwork partitions &quorum management
    • 15. Replicated, HighlyAvailable, Ordered,Battle-proven
    • 16. Used by Yahoo, Netflix, Rackspace, Hadoop, Neo4j, etc
    • 17. How can I useZooKeeper in my architecture?
    • 18. Distributed Configuration(update thread pool sizes & other settings without requiring a server restart)
    • 19. Distributed Locking (only one process should beable to do something at a time)
    • 20. Priority Queues
    • 21. Leader Election, Group Membership & more
    • 22. Practical application:Using ZooKeeper to build automatic failover for Redis
    • 23. redis_failoverhttp://github.com/ryanlecompte/redis_failover
    • 24. Provides a smart “failover-aware” client that wrapsexisting Ruby client forRedis
    • 25. Clients automaticallyconnect to ZooKeeperand register for watchnotifications
    • 26. Node Managers monitorRedis servers for availabilityand automatically informclients of failover viaZooKeeper
    • 27. Architecture
    • 28. RedisFailover::Client Example# create new client with list of ZooKeeper serversclient = RedisFailover::Client.new(:zkservers => localhost:2181,localhost:2182,localhost:2183)# write operations automatically routed to masterclient.set(‘foo’, ‘bar’)# read operations automatically routed to a slaveclient.smembers(‘data’)
    • 29. Companies using redis_failover• Papertrail• Backupify• MediaPiston• IDT Corporation• others
    • 30. Consider incorporatingZooKeeper into your overallarchitecture.Utilize the primitives it gives you forsolving your next distributedprogramming challenge.
    • 31. Don’t let your Redis serversgo unmanaged in production.Consider usingredis_failover to sleepbetter at night.
    • 32. Thanks for listening! http://github.com/ryanlecompte/redis_failover Questions? Ask me at the beach!

    ×