+ All Categories
Home > Internet > Webinar slides: High Availability in ProxySQL

Webinar slides: High Availability in ProxySQL

Date post: 12-Apr-2017
Category:
Upload: severalnines
View: 37 times
Download: 1 times
Share this document with a friend
39
Copyright 2017 Severalnines AB 1 Your host & some logistics I'm Jean-Jérôme from the Severalnines Team and I'm your host for today's webinar! Feel free to ask any questions in the Questions section of this application or via the Chat box. You can also contact me directly via the chat box or via email: [email protected] during or after the webinar.
Transcript

Copyright 2017 Severalnines AB

1

Your host & some logistics

I'm Jean-Jérôme from the Severalnines Team and I'm your host for today's webinar!

Feel free to ask any questions in the Questions section of this application or via the Chat box.

You can also contact me directly via the chat box or via email: [email protected] during or after the webinar.

Copyright 2017 Severalnines AB

2

About Severalnines and ClusterControl

Copyright 2017 Severalnines AB

3

What we do

Manage Scale

Monitor Deploy

Copyright 2017 Severalnines AB

4

ClusterControl Automation & Management

! Provisioning !Deploy a cluster in minutes !On-premises or in the cloud (AWS)

! Monitoring ! Systems view ! 1sec resolution !DB / OS stats & performance advisors !Configurable dashboards !Query Analyzer ! Real-time / historical

! Management ! Multi cluster/data-center ! Automate repair/recovery ! Database upgrades ! Backups ! Configuration management ! Cloning ! One-click scaling

Copyright 2017 Severalnines AB

5

Supported Databases

Copyright 2017 Severalnines AB

6

Customers

Copyright 2017 Severalnines AB

High Availability in ProxySQL

April 4, 2017

Krzysztof Książek

Severalnines

[email protected]

René Cannaò

ProxySQL

[email protected]

7

Copyright 2017 Severalnines AB

8

Agenda

Copyright 2017 Severalnines AB

9

Agenda

! HA setups for ProxySQL

! ProxySQL Distributed configuration

! Demo of ProxySQL HA deployment in ClusterControl

Copyright 2017 Severalnines AB

10

HA setups for ProxySQL

Copyright 2017 Severalnines AB

11

One single ProxySQL instance

Copyright 2017 Severalnines AB

12

One single ProxySQL instance

! Simple setup

! Single point of failure

! Not suitable for Production

Copyright 2017 Severalnines AB

13

Improve resilience on single ProxySQL host

! Automatic restart on failure

! built-in feature

! systemd / supervisord / others

! Multiple ProxySQL instances on single port

! requires kernel >= 3.9

Copyright 2017 Severalnines AB

14

Multiple ProxySQL hosts

Copyright 2017 Severalnines AB

15

Multiple dedicated ProxySQL hosts

! Requires load-balancing in the application

! or built-in in the driver

! Load balancer on top of ProxySQL

Copyright 2017 Severalnines AB

16

Multiple ProxySQL hosts

Copyright 2017 Severalnines AB

17

One ProxySQL instance per application server

Copyright 2017 Severalnines AB

18

One ProxySQL instance per application server

! No single point of failure

! Each application server has one proxy

! No need for load balancer

! It scales to hundreds of nodes

! No possibility to share cache

Copyright 2017 Severalnines AB

19

Silos approach

Copyright 2017 Severalnines AB

20

Silos approach

! Reduced the number of ProxySQL instances

! No need for load balancer

! It scales to hundreds of nodes

! More efficient uses of resources

Copyright 2017 Severalnines AB

21

Keepalived + VIP

VIP

Copyright 2017 Severalnines AB

22

Keepalived + VIP + LB

VIP

Copyright 2017 Severalnines AB

23

Keepalived + VIP + LVS

VIP

Copyright 2017 Severalnines AB

24

Multi-layer + Keepalived + VIP + LVS

VIP

Copyright 2017 Severalnines AB

25

Multi-layers

Copyright 2017 Severalnines AB

26

Silos + Multi-layers

Copyright 2017 Severalnines AB

27

Combine multiple technologies

! Automatic restart

! Multiple instances on same ports

! Silos

! Multi-layers

! Keepalived

Copyright 2017 Severalnines AB

28

KISS principle

! Keep it simple, stupid

! Find the best solution for your setup

Copyright 2017 Severalnines AB

ProxySQL Distributed configuration

29

Copyright 2017 Severalnines AB

30

Distributed configuration

! Not built-in yet

! Configuration managed externally

! Infrastructure orchestration tools

! Scripts

! Failover management tools

Copyright 2017 Severalnines AB

31

Configuration file

! Easy to read

! No input validation

! No rollback

! Useful for bootstrap

! Ignored if database file is present

Copyright 2017 Severalnines AB

32

Admin interface and database config file

! Embedded SQLite database

! Input validation

! 3 configuration layers

! Configurable remotely

! Accessible by any tool able to send SQL queries

! Export metrics and allows joins

Copyright 2017 Severalnines AB

33

Admin interface - automatic failover

! ProxySQL Monitor

! ClusterControl : https://severalnines.com/product/clustercontrol

! Orchestrator : https://github.com/github/orchestrator

! MHA : https://github.com/yoshinorim/mha4mysql-manager

! ProxySQL Scheduler

Copyright 2017 Severalnines AB

34

Admin interface - configuration

! ClusterControl : https://severalnines.com/product/clustercontrol

! proxysql-admin : https://github.com/percona/proxysql-admin-tool

! Ansible : https://github.com/bmildren/ansible/tree/proxysql_support

! Puppet : https://github.com/voxpupuli/puppet-proxysql/

! proxysql-tools : https://github.com/twindb/proxysql-tools

Copyright 2017 Severalnines AB

35

Admin interface - service discovery

! Consul

! etcd

! zookeeper

Copyright 2017 Severalnines AB

36

Admin interface - monitoring

! ClusterControl

! Collectd

! Diamond

! Graphite

! Datadog

! Grafana

Copyright 2017 Severalnines AB

37

Admin interface - alerting

! ClusterControl

! Nagios

! Sensu

! Pagerduty

! OpsGenie

Copyright 2017 Severalnines AB

38

Demo

Copyright 2017 Severalnines AB

39

Thank You!! Severalnines resources on ProxySQL

! https://severalnines.com/blog/using-clustercontrol-deploy-and-configure-proxysql-top-mysql-replication

! https://severalnines.com/blog/sharding-mysql-mysql-fabric-and-proxysql

! https://severalnines.com/blog/how-proxysql-adds-failover-and-query-control-your-mysql-replication-setup

! https://severalnines.com/blog/how-set-read-write-split-galera-cluster-using-proxysql

! https://severalnines.com/resources/webinars/mysql-mariadb-load-balancing-proxysql-clustercontrol-introduction-webinar

! Install ClusterControl:

! https://severalnines.com/download-clustercontrol-database-management-system

! Contact: [email protected]


Recommended