Skip to content

Commit

Permalink
Merge pull request #4 from alexeyklyukin/feature/patroni
Browse files Browse the repository at this point in the history
Feature/patroni
  • Loading branch information
jberkus authored Mar 30, 2017
2 parents ec66729 + b291072 commit 6cce91e
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 64 deletions.
Binary file added postgres_helm/elephant_patroni_live_demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions postgres_helm/notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,18 @@ Helm

Oleksii

Patroni
- RAFT is the fabric that holds together your PostgreSQL containers
- External consistent key-value store instead of a built-in one:
advantages:
- PostgreSQL failure doesn't break the consensus
- use well-tested RAFT implementations (i.e. Etcd or Consul)
disadvantages:
- one needs to operate extra services
Features:
- synchronous vs asynchronous replication (consistency vs availability)
- some parameters need to be kept in sync on all cluster nodes (max_connections)

CitusDB
- sharded postgres
- query node, plus shard nodes
Expand All @@ -36,6 +48,7 @@ giant robot elephant from The Nantes Project
elephant helm by Blank Williams
robot elephant by Robert Chew
robot with elephant by Mark F Stosiak
stubborn elephant by Kolja Wilcke @01k



Expand Down
39 changes: 30 additions & 9 deletions postgres_helm/postgres_helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,39 +118,52 @@ Kubecon EU 2017
---

![spilo_diagram](spilo_diagram.svg)

---

## Patroni customization
## Extensibility

* Callbacks (on_role_chage)
* Custom replica creation
* Pluggable consistency layers
* callbacks
* custom replica creation methods
* pluggable consistent KV-stores

---

## Not just autofailover
## More than autofailover

* Synchronous mode
* Cascading replication
* Dynamic configuration
* synchronous mode
* cascading replication
* dynamic configuration

---

## Cluster maintenance

* "Hands-off" mode
* Scheduled failovers and restarts

---

## Controlling Patroni
## Interfaces

* REST API
* patronictl

---

## Helm parameters

* cluster name
* Etcd host
* number of replicas
* credentials

---

#### Patroni Demo

![patroni demo](elephant_patroni_live_demo.png)

---

![citus sharded](citus_sharded.png)
Expand Down Expand Up @@ -232,6 +245,14 @@ github.com/jberkus/atomicdb

---

## Spilo demo:

* Helm Chart:
<br />github.com/alexeyklyukin/
<br />/charts/incubator/patroni

---

# ¿questions?

.left-column-narrow[
Expand Down
Loading

0 comments on commit 6cce91e

Please sign in to comment.