WHO ARE YOU???

52
1

description

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. - PowerPoint PPT Presentation

Transcript of WHO ARE YOU???

Page 1: WHO ARE YOU???

1

Page 2: WHO ARE YOU???

WHO ARE YOU???• Clint Alexander• Lancaster County, PA• Married, 3 Children

2

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

• Internet Technologist• IT Contractor• 10 year Professional• MySQL Power User

Web Administration

Web Application Developer

Network Architect

Brainbench CIPCertified Internet Professional

PHP

Systems Administration

Perl

Interactive Developer

LuaLingo

Expect

Action ScriptVisual Basic

Project Management

Page 3: WHO ARE YOU???

3

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHY ARE WE HERE?

Page 4: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

4

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 5: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

5

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHAT IS THAT?

Page 6: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

6

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHAT IS THAT?HIGH AVAILABILITY!

Page 7: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

7

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHAT IS THAT?HIGH AVAILABILITY!

uhh…

Page 8: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

8

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHAT IS THAT?HIGH AVAILABILITY!

uhh…Keeping your services available 99.9% OF THE TIME.

Page 9: WHO ARE YOU???

WHY ARE WE HERE?TO DESIGN FAIL-SAFE SYSTEMS

9

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

WHAT IS THAT?HIGH AVAILABILITY!

uhh…Keeping your services available 99.9% OF THE TIME.

oh…

Page 10: WHO ARE YOU???

10

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

LET’S SET SOME REQUIREMENTS…

Page 11: WHO ARE YOU???

11

Maximize Cost-Effectiveness

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 12: WHO ARE YOU???

12

Design Simple Management

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 13: WHO ARE YOU???

13

Redundancy & Fail-Over

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 14: WHO ARE YOU???

14

Maintain Optimal Performance

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 15: WHO ARE YOU???

15

Minimize Dependencies

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 16: WHO ARE YOU???

16

No Single Point of Failure

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 17: WHO ARE YOU???

WHAT’S THE OBJECTIVE?

17

• Maximize Cost-Effectiveness• Design Simple Management• Create Redundancy & Fail-Over• Maintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 18: WHO ARE YOU???

LET’S TALK SCALING

18

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Page 19: WHO ARE YOU???

19

MYSQL-PROXY: THE PROXY BELT

SCALING UP

Clint Alexander <[email protected]>

Page 20: WHO ARE YOU???

20

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

=

Page 21: WHO ARE YOU???

21

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

= More RAM= Fast CPU= Fast SCSI= Fast Bus

Page 22: WHO ARE YOU???

22

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Result?

Page 23: WHO ARE YOU???

23

MYSQL-PROXY: THE PROXY BELT

SUPER DUDE!(err… Server)

Clint Alexander <[email protected]>

Page 24: WHO ARE YOU???

24

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

SCALING OUT

Page 25: WHO ARE YOU???

25

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Take 1 fish…

Page 26: WHO ARE YOU???

26

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Add lots more.

Page 27: WHO ARE YOU???

27

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Standard Web

Service Setup

Page 28: WHO ARE YOU???

28

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Where should requests go now?

Page 29: WHO ARE YOU???

29

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

SimpleScale-OutSolution

Page 30: WHO ARE YOU???

30

MYSQL-PROXY: THE PROXY BELT

Clint Alexander <[email protected]>

Requests still fulfilled

(whew!)

Page 31: WHO ARE YOU???

31

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 <[email protected]>

Page 32: WHO ARE YOU???

32

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 <[email protected]>

Page 33: WHO ARE YOU???

33

MYSQL-PROXY: THE PROXY BELT

THE PROXY BELT

Clint Alexander <[email protected]>

“Strap-On” MySQL-Proxy

Page 34: WHO ARE YOU???

34

MYSQL-PROXY: THE PROXY BELT

AUTONOMOUS DESIGN

Clint Alexander <[email protected]>

Self-Reliant Systems

Page 35: WHO ARE YOU???

35

MYSQL-PROXY: THE PROXY BELT

• Maximize Cost-Effectiveness• Design Simple Management• Redundancy & Fail-Over• Maintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

REQUIREMENTSREQUIREMENTSREVIEWREVIEW

What’s the objective?

Page 36: WHO ARE YOU???

36

MYSQL-PROXY: THE PROXY BELT

COST-EFFECTIVENESS?

• No Additional Hardware• No Additional

Installations• No Additional Software• No Additional Labor

Saving $5K – $10K

Clint Alexander <[email protected]>

Page 37: WHO ARE YOU???

37

MYSQL-PROXY: THE PROXY BELT

Maximum Cost-Effectiveness• Simple Management• Redundancy & Fail-Over• Maintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

What’s the objective?

Page 38: WHO ARE YOU???

38

MYSQL-PROXY: THE PROXY BELT

DESIGN SIMPLE MANAGEMENT?

• Servicing the Clients Relative to the purpose and configuration of

the clients• Servicing MySQL

Multiple GUI Administration Options• Servicing Proxy

Easy & Minimal Configuration

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.

Clint Alexander <[email protected]>

Page 39: WHO ARE YOU???

39

MYSQL-PROXY: THE PROXY BELT

REQUIREMENTS REVIEW

Maximum Cost-EffectivenessSimple Management• Redundancy & Fail-Over• Maintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

Page 40: WHO ARE YOU???

40

MYSQL-PROXY: THE PROXY BELT

REDUNDANCY & FAIL-OVER?

• Failure to Client Server DNS Round-Robin (other?)

Clint Alexander <[email protected]>

• MySQL Services Managed by Lua & Proxy connection

pooling

• Failure to Proxy Service Crontabs and Notifications!

Page 41: WHO ARE YOU???

41

MYSQL-PROXY: THE PROXY BELT

Maximum Cost-EffectivenessSimple ManagementRedundancy & Fail-Over• Maintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

What’s the objective?

Page 42: WHO ARE YOU???

42

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 <[email protected]>

Page 43: WHO ARE YOU???

43

MYSQL-PROXY: THE PROXY BELT

Maximum Cost-EffectivenessSimple ManagementRedundancy & Fail-OverMaintain Optimal Performance• Minimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

What’s the objective?

Page 44: WHO ARE YOU???

44

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 RequiredClint Alexander <[email protected]>

Page 45: WHO ARE YOU???

45

MYSQL-PROXY: THE PROXY BELT

Maximum Cost-EffectivenessSimple ManagementRedundancy & Fail-OverMaintain Optimal PerformanceMinimize Dependencies• No Single Point of Failure

Clint Alexander <[email protected]>

What’s the objective?

Page 46: WHO ARE YOU???

46

MYSQL-PROXY: THE PROXY BELT

NO SINGLE POINT OF FAILURE?

• Fail-over Requires: Minimum: 2+ Clients Minimum: 2+ Proxies Minimum: 2+ Databases

Clint Alexander <[email protected]>

Page 47: WHO ARE YOU???

47

MYSQL-PROXY: THE PROXY BELT

Maximum Cost-EffectivenessSimple ManagementRedundancy & Fail-OverMaintain Optimal PerformanceMinimize DependenciesNo Single Point of Failure

Clint Alexander <[email protected]>

That’s the objective!

Page 48: WHO ARE YOU???

48

MYSQL-PROXY: THE PROXY BELT

WAIT!!DIDN’T WE SAY SOMETHING ABOUT

A CRON SCRIPT?

Clint Alexander <[email protected]>

Page 49: WHO ARE YOU???

49

MYSQL-PROXY: THE PROXY BELT

MANAGABLE CONFIGURATION FILEAssumed Location: /etc/mysql-proxy/mysql-proxy.conf

Clint Alexander <[email protected]>

Page 50: WHO ARE YOU???

50

MYSQL-PROXY: THE PROXY BELT

CRON SCRIPT

Assumed Location: /opt/mysql-proxy/sbin/proxychk.cron

Clint Alexander <[email protected]>

Page 51: WHO ARE YOU???

51

MYSQL-PROXY: THE PROXY BELT

STARTUP SCRIPT

Assumed Location: /etc/init.d/mysqlproxy

Clint Alexander <[email protected]>

Page 52: WHO ARE YOU???

52Clint Alexander <[email protected]>

MYSQL-PROXY: THE PROXY BELT

http://www.cdalexander.net/mysql.php

Want a copy?

All material is or will be posted here.

Feel free to contact me directly:Clint Alexander <[email protected]>