automating mongodb clusters
play

Automating MongoDB Clusters Jonathan Rudenberg @"tanous Flynn - PowerPoint PPT Presentation

Automating MongoDB Clusters Jonathan Rudenberg @"tanous Flynn is an easy PaaS Flynn git push and Docker deploys HTTPS load balancing Log aggrega<on Everything is highly available Flynn TCP load balancing Service discovery with DNS


  1. Automating MongoDB Clusters Jonathan Rudenberg @"tanous

  2. Flynn is an easy PaaS

  3. Flynn git push and Docker deploys HTTPS load balancing Log aggrega<on Everything is highly available

  4. Flynn TCP load balancing Service discovery with DNS Self-bootstrapping and self-hos<ng Database appliances

  5. Databases are hard.

  6. Best prac<ces are expensive.

  7. One command to get a reliable database cluster without talking to a DBA

  8. Produc<on parity Infrastructure portability Self-serve access

  9. Safe out of the box Clusters not singletons Easy management

  10. PostgreSQL

  11. PostgreSQL MySQL

  12. State Machine

  13. P S A

  14. github.com/joyent/manatee-state-machine

  15. PostgreSQL MySQL MongoDB

  16. S P A

  17. S priority:0 P priority:1 A priority:0 hidden

  18. P priority:1 S priority:0

  19. discoverd Peer discovery Compare and swap service metadata Leader registra<on HTTP/DNS

  20. leader.mongodb.discoverd:27017

  21. MongoDB bugs

  22. Replica set reconfigura<on implosion

  23. if (args.force) { incrementVersionByRandom(config); }

  24. Demo

  25. flynn.io | @<tanous

  26. flynn resource add mongodb

  27. MONGO_DATABASE=b5cf103f4f2a1446104a275ebb7aa7af MONGO_HOST=leader.mongodb.discoverd MONGO_PWD=381b4fa2c05073b88ac7b061d06da2ee MONGO_USER=c3fd8b67fef657dcb4074cb409a77e32

  28. flynn mongodb dump

  29. flynn mongodb mongo

  30. Primary handles reads/writes Sync can take over for primary Async can transi6on to sync Unassigned Deposed

  31. Primary → Deposed Sync → Primary Async → Sync Unassigned → {Primary, Sync, Async} Deposed

  32. Genera<on number Current primary Assigned sync Ini<al WAL Async list

  33. Components (HTTP, TCP, TLS, Load Balancing) ROUTER DEPLOY Git Receiver WEB HEALTH USER USER USER USER USER Slugbuilder DASHBOARD SERVICE APPS APPS APPS APPS APPS Blobstore DATABASE APPLIANCES LOG AGGREGATOR CONTROLLER SCHEDULER SERVICE DISCOVERY (Runs containers) HOST SERVICE

  34. DB A A A A DB A A A A A A DB A A A DB A A DB A A A A A A A A A A A A A A A DB F F F F F F F F F

Recommend


More recommend