Saturday Night Disco on Monday Morning

Saturday Night Disco on Monday Morning

Service discovery must be hard, from ye olde SRV records and UDDI to hip new etcd and serf, we keep inventing new ways to help robots talk to each other. But instead of trying to pick a winner, let's review the space so you can figure out how let applications work with whatever's clever.

Transcript

  1. https://www.flickr.com/photos/-staci-/3197185673 Saturday Night Disco on Monday Morning

  2. Hi, I’m

  3. None
  4. None
  5. adjustable capacity ! highly available ! low latency

  6. adjustable capacity ! highly available ! low latency change capacity

    ! fail over ! switch data center
  7. None
  8. None
  9. Name ➝ Connection Info

  10. What kind of clusters?

  11. LB

  12. VIP s s M s

  13. None
  14. LB

  15. Shared Nothing Master-Slave JBOS Auto-balancing

  16. Service Facades Cluster Member Lists

  17. Service Facade Proxy DNS Record Set Virtual IP

  18. Cluster Member List Order Port Metadata

  19. { "myface-facade": [! { "hostname": "myface-lb.example.net" } ],! "myface": [!

    { "hostname": “myface-docker-001.example.net",! "port": 49160 },! { "hostname": “myface-docker-002.example.net",! "port": 49086 } ],! ! ! "myface-db-master": [! { "hostname": "myface-db-master.example.net" } ],! "myface-db-slave": [! { "hostname": "myface-db-002.example.net" },! { "hostname": "myface-db-003.example.net" } ],! ! ! "statsd": [! { "hostname": "10.0.0.216" } ] }
  20. None
  21. Name ➝ Connection Info

  22. Name ➝ Connection Info Across Time

  23. Now you’ve got two problems

  24. Consistency Propagation

  25. Consistency Eventual Read-after-Writes Linearizable ! chef, serf dns, s3 zk,

    consul
  26. Propagation PubSub Poll ! zk, etcd, serf dns, chef, consul

  27. eventual ryw linearizable poll chef dns consul pubsub serf zk

  28. None
  29. but my app doesn’t like config from zk, dns, http!

  30. Config management Agent Remote Exec confd ! cfengine ansible

  31. Facade v Member Set Ordered Record Sets Locator + Metadata

    ! Consistency Propagation
  32. None
  33. Wait, what happened to the MySQL master?

  34. M VIP s

  35. None
  36. None