Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Most Powerful High Availability / Load Balancing #yapcasia 2012

riywo
September 30, 2012

Most Powerful High Availability / Load Balancing #yapcasia 2012

riywo

September 30, 2012
Tweet

More Decks by riywo

Other Decks in Programming

Transcript

  1. Most Powerful
    High Availability
    Load Balancing
    Sep, 29, 2012
    YAPC::Asia 2012 @riywo

    View Slide

  2. @riywo

    View Slide

  3. http://www.publicdomainpictures.net/view-image.php?image=4314&picture=t-shirt-image

    View Slide

  4. View Slide

  5. View Slide

  6. Talk about....
    * Why is this good?
    * Why is this bad?

    View Slide

  7. HALB

    View Slide

  8. What?

    View Slide

  9. LB
    Server
    Server
    Server
    Server

    View Slide

  10. HA
    Server
    Server
    Server
    Server

    Health
    Check

    View Slide

  11. Same!

    View Slide

  12. Where?

    View Slide

  13. HA
    LB
    Web
    Web
    Web
    Web
    User

    View Slide

  14. HA
    LB
    DB
    DB
    DB
    DB
    Web

    View Slide

  15. HA
    LB
    API
    API
    API
    API
    Web

    View Slide

  16. Anywhere!

    View Slide

  17. How?

    View Slide

  18. BIG-IP
    ServerIron

    View Slide

  19. LVS

    View Slide

  20. HAProxy

    View Slide

  21. mod_proxy

    View Slide

  22. nginx

    View Slide

  23. ELB

    View Slide

  24. MyDNS

    View Slide

  25. Pros/Cons

    View Slide

  26. Pros Cons
    H/W
    Inline
    (DSR)
    Powerful Difficult
    Expensive
    Proxy
    Inline
    (DSR) Easy to use Performance
    DNS No
    proxy Performance Difficult

    View Slide

  27. Pros Cons
    H/W
    Inline
    (DSR)
    Powerful Difficult
    Expensive
    Proxy
    Inline
    (DSR) Easy to use Performance
    DNS No
    proxy Performance Difficult

    View Slide

  28. DNS

    View Slide

  29. No Proxy

    View Slide

  30. DNS DB
    DB
    DB
    DB
    Web
    1
    2
    Weighted-DNS
    RoundRobin
    HA
    LB

    View Slide

  31. Cache

    View Slide

  32. DNS DB
    DB
    DB
    DB
    Web
    2
    Cache
    1
    3

    View Slide

  33. Cache is
    Difficult

    View Slide

  34. DNS DB
    DB
    DB
    DB
    Web
    Cache

    Health
    Check

    View Slide

  35. DNS DB
    DB
    DB
    DB
    Web
    Cache

    Health
    Check
    Inconsistent

    View Slide

  36. Solution

    View Slide

  37. Client
    DNS

    View Slide

  38. DNS
    DB
    DB
    DB
    DB
    Web

    Health
    Check

    View Slide

  39. Too many
    Health Check

    View Slide

  40. DB
    DB
    DB
    DB
    DNS
    Web

    Health
    Check
    DNS
    Web
    DNS
    Web
    Health
    CheckHealth
    Check

    View Slide

  41. Solution

    View Slide

  42. Eventual
    Consistent

    View Slide

  43. DB
    DB
    DB
    DB
    DNS
    Web

    DNS
    Web
    DNS
    Web
    Health
    Check
    DNS
    2 Async
    1

    View Slide

  44. How?

    View Slide

  45. DB
    DB
    DB
    DB

    MyDNS
    Web
    Health
    Check
    MyDNS
    1
    2 Replication
    MyDNS
    Web MyDNS
    Web

    View Slide

  46. Good Points

    View Slide

  47. * Clients know all info
    * Eventual Consistent
    * Any Application:)

    View Slide

  48. Bad Points

    View Slide

  49. * Too much...
    * Async difficult

    View Slide

  50. Join us!
    * Perl Mongers
    * Operation Engineers

    View Slide

  51. Join us!
    * Perl Mongers
    * Operation Engineers
    * Baseball Players :)

    View Slide

  52. Thanks!

    View Slide

  53. @riywo
    blog.riywo.com
    weblog.riywo.com

    View Slide