1 / 52

WHO ARE YOU???

MYSQL-PROXY: THE PROXY BELT. WHO ARE YOU???. Internet Technologist IT Contractor 10 year Professional MySQL Power User. Clint Alexander Lancaster County, PA Married, 3 Children. Web Application Developer. Systems Administration. PHP. Lingo. Perl. Expect. Lua. Visual Basic.

shea-oneill
Download Presentation

WHO ARE YOU???

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MYSQL-PROXY: THE PROXY BELT WHO ARE YOU??? • Internet Technologist • IT Contractor • 10 year Professional • MySQL Power User • Clint Alexander • Lancaster County, PA • Married, 3 Children Web Application Developer Systems Administration PHP Lingo Perl Expect Lua Visual Basic Action Script Web Administration Network Architect My Very Own Website: http://www.cdalexander.net/ (just getting started) Interactive Developer Project Management Brainbench CIP Certified Internet Professional Clint Alexander <clint@cdalexaneder.net>

  2. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? Clint Alexander <clint@cdalexaneder.net>

  3. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS Clint Alexander <clint@cdalexaneder.net>

  4. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS WHAT IS THAT? Clint Alexander <clint@cdalexaneder.net>

  5. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS WHAT IS THAT? HIGH AVAILABILITY! Clint Alexander <clint@cdalexaneder.net>

  6. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS WHAT IS THAT? HIGH AVAILABILITY! uhh… Clint Alexander <clint@cdalexaneder.net>

  7. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS WHAT IS THAT? HIGH AVAILABILITY! uhh… Keeping your services available 99.9% OF THE TIME. Clint Alexander <clint@cdalexaneder.net>

  8. MYSQL-PROXY: THE PROXY BELT WHY ARE WE HERE? TO DESIGN FAIL-SAFE SYSTEMS WHAT IS THAT? HIGH AVAILABILITY! uhh… Keeping your services available 99.9% OF THE TIME. oh… Clint Alexander <clint@cdalexaneder.net>

  9. MYSQL-PROXY: THE PROXY BELT LET’S SET SOME REQUIREMENTS… Clint Alexander <clint@cdalexaneder.net>

  10. MYSQL-PROXY: THE PROXY BELT Maximize Cost-Effectiveness Clint Alexander <clint@cdalexaneder.net>

  11. MYSQL-PROXY: THE PROXY BELT Design Simple Management Clint Alexander <clint@cdalexaneder.net>

  12. MYSQL-PROXY: THE PROXY BELT Redundancy & Fail-Over Clint Alexander <clint@cdalexaneder.net>

  13. MYSQL-PROXY: THE PROXY BELT Maintain Optimal Performance Clint Alexander <clint@cdalexaneder.net>

  14. MYSQL-PROXY: THE PROXY BELT Minimize Dependencies Clint Alexander <clint@cdalexaneder.net>

  15. MYSQL-PROXY: THE PROXY BELT No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  16. MYSQL-PROXY: THE PROXY BELT • Maximize Cost-Effectiveness • Design Simple Management • Create Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure What’s the objective? Clint Alexander <clint@cdalexaneder.net>

  17. MYSQL-PROXY: THE PROXY BELT LET’S TALK SCALING Clint Alexander <clint@cdalexaneder.net>

  18. MYSQL-PROXY: THE PROXY BELT SCALING UP Clint Alexander <clint@cdalexaneder.net>

  19. MYSQL-PROXY: THE PROXY BELT = Clint Alexander <clint@cdalexaneder.net>

  20. MYSQL-PROXY: THE PROXY BELT = More RAM = Fast CPU = Fast SCSI = Fast Bus Clint Alexander <clint@cdalexaneder.net>

  21. MYSQL-PROXY: THE PROXY BELT Result? Clint Alexander <clint@cdalexaneder.net>

  22. MYSQL-PROXY: THE PROXY BELT SUPER DUDE! (err… Server) Clint Alexander <clint@cdalexaneder.net>

  23. MYSQL-PROXY: THE PROXY BELT SCALING OUT Clint Alexander <clint@cdalexaneder.net>

  24. MYSQL-PROXY: THE PROXY BELT Take 1 fish… Clint Alexander <clint@cdalexaneder.net>

  25. MYSQL-PROXY: THE PROXY BELT Add lots more. Clint Alexander <clint@cdalexaneder.net>

  26. MYSQL-PROXY: THE PROXY BELT Standard Web Service Setup Clint Alexander <clint@cdalexaneder.net>

  27. MYSQL-PROXY: THE PROXY BELT Where should requests go now? X Clint Alexander <clint@cdalexaneder.net>

  28. MYSQL-PROXY: THE PROXY BELT Simple Scale-Out Solution Clint Alexander <clint@cdalexaneder.net>

  29. MYSQL-PROXY: THE PROXY BELT X Requests still fulfilled (whew!) Clint Alexander <clint@cdalexaneder.net>

  30. MYSQL-PROXY: THE PROXY BELT SINGLE GATEWAY DESIGNS SPOF DETECTED! Single Point of Failure Great For • Development Networks • Low-Visibility Services • Low-Availability Services Clint Alexander <clint@cdalexaneder.net>

  31. MYSQL-PROXY: THE PROXY BELT DUAL GATEWAY DESIGNS • SOFTWARE REQUIRED! • Heartbeat Service • Switching Mechanism Great For • Production Networks • High-Visibility Services • High-Availability Services Clint Alexander <clint@cdalexaneder.net>

  32. MYSQL-PROXY: THE PROXY BELT THE PROXY BELT “Strap-On” MySQL-Proxy Clint Alexander <clint@cdalexaneder.net>

  33. MYSQL-PROXY: THE PROXY BELT AUTONOMOUS DESIGN Self-Reliant Systems Clint Alexander <clint@cdalexaneder.net>

  34. MYSQL-PROXY: THE PROXY BELT What’s the objective? • Maximize Cost-Effectiveness • Design Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure REQUIREMENTS REVIEW Clint Alexander <clint@cdalexaneder.net>

  35. MYSQL-PROXY: THE PROXY BELT COST-EFFECTIVENESS? • No Additional Hardware • No Additional Installations • No Additional Software • No Additional Labor • Saving $5K – $10K Clint Alexander <clint@cdalexaneder.net>

  36. MYSQL-PROXY: THE PROXY BELT What’s the objective? • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  37. MYSQL-PROXY: THE PROXY BELT DESIGN SIMPLE MANAGEMENT? Simple Management, in this case, means management of a service required within the network is minimized by its lack of dependents and complexity of its configuration. • Servicing the Clients • Relative to the purpose and configuration of the clients • Servicing MySQL • Multiple GUI Administration Options • Servicing Proxy • Easy & Minimal Configuration Clint Alexander <clint@cdalexaneder.net>

  38. MYSQL-PROXY: THE PROXY BELT REQUIREMENTS REVIEW • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  39. MYSQL-PROXY: THE PROXY BELT REDUNDANCY & FAIL-OVER? • MySQL Services • Managed by Lua & Proxy connection pooling • Failure to Client Server • DNS Round-Robin (other?) • Failure to Proxy Service • Crontabs and Notifications! Clint Alexander <clint@cdalexaneder.net>

  40. MYSQL-PROXY: THE PROXY BELT What’s the objective? • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  41. MYSQL-PROXY: THE PROXY BELT MAINTAIN OPTIMAL PERFORMANCE? • MySQL Proxy is light-weight and transparent • Lua is a well-known light-weight API • Footprint = 0 (zero) Clint Alexander <clint@cdalexaneder.net>

  42. MYSQL-PROXY: THE PROXY BELT What’s the objective? • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  43. MYSQL-PROXY: THE PROXY BELT MINIMIZE DEPENDENCIES? • Users are dependent on available client systems • Clients are dependent on available Proxy services • Proxy is dependent on available MySQL servers • No Extra Dependencies Required Clint Alexander <clint@cdalexaneder.net>

  44. MYSQL-PROXY: THE PROXY BELT What’s the objective? • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  45. MYSQL-PROXY: THE PROXY BELT NO SINGLE POINT OF FAILURE? • Fail-over Requires: • Minimum: 2+ Clients • Minimum: 2+ Proxies • Minimum: 2+ Databases Clint Alexander <clint@cdalexaneder.net>

  46. MYSQL-PROXY: THE PROXY BELT That’s the objective! • Maximum Cost-Effectiveness • Simple Management • Redundancy & Fail-Over • Maintain Optimal Performance • Minimize Dependencies • No Single Point of Failure Clint Alexander <clint@cdalexaneder.net>

  47. MYSQL-PROXY: THE PROXY BELT WAIT!! DIDN’T WE SAY SOMETHING ABOUT A CRON SCRIPT? Clint Alexander <clint@cdalexaneder.net>

  48. MYSQL-PROXY: THE PROXY BELT MANAGABLE CONFIGURATION FILE Assumed Location: /etc/mysql-proxy/mysql-proxy.conf Clint Alexander <clint@cdalexaneder.net>

  49. MYSQL-PROXY: THE PROXY BELT CRON SCRIPT Assumed Location: /opt/mysql-proxy/sbin/proxychk.cron Clint Alexander <clint@cdalexaneder.net>

More Related