Vert.x clustering on Docker, CoreOS and ETCD

download Vert.x clustering on Docker, CoreOS and ETCD

of 16

  • date post

    23-Aug-2014
  • Category

    Internet

  • view

    822
  • download

    6

Embed Size (px)

description

This talk was held at the Vert.x Meetup Amsterdam on 30-07-2014. The subject is on how to get a Vert.X cluster running in Docker containers running on CoreOS without any manual configuration.

Transcript of Vert.x clustering on Docker, CoreOS and ETCD

  • Tim Nolet tim@magnetic.io Vert.X clustering on Docker, CoreOS and ETCD =+{ }+
  • So whats magne;c.io? - Next-gen e-commerce platform aimed at the enterprise market - Integrate Continuous Delivery from the ground up - Cocktail of PaaS, containers and micro services
  • CoreOS - Just a Linux Distro - Run apps in containers - On the fly updating - Fast boot times - Systemd images: coreos.com
  • ETCD - Distributed key/value store - Like a directory tree - JSON/REST API - Uses a Discovery URL images: coreos.com
  • Docker - REALLY portable - Images/containers - JSON/REST API - Emits events! Starting cluster bootstrap... ==> info: Hazelcast port => 5701 ==> info: Vertx Eventbus port => 5702 ==> info: ETCD host => 10.0.42.1 ==> info: ETCD port => 4001 ==> info: ETCD base path => /vamp/bootstrap ==> info: Public IP => 172.17.8.103 ==> info: Physical hostname => core-03 ==> info: Container hostname => f9dc53532ff4 ==> info: Vertx module to run => vamp-agent-0.1.0 ==> info: Connecting to ETCD ==> info: Connected to ETCD at 10.0.42.1:4001 ==> info: Vamp Bootstrap will try to cluster with started remote host 172.17.8.101 ==> info: Starting Vamp Bootstrap with module vamp-agent-0.1.0 ==> info: Waiting for Vamp Bootstrap to come online... ==> info: Vamp Bootstrap was started with PID 24 and public IP 172.17.8.103
  • coreos Lets boot a cluster on AWS! vamp_loadbalancer vamp_agent coreos vamp_agentvamp_agent coreos vamp_agentvamp_agent coreos vamp_agent autoscale REST coreos vamp_ controller three AV zones traffic
  • and while thats running
  • the good parts - Vert.x with Docker/CoreOS/ETCD is cool because: - Size: in MBs and in complexity - Event bus makes distribution easy - polyglot works nice with the idea of micro services
  • the bad parts - Once it becomes complex, boilerplate rises - Actor-like maybe to coarse and without the build in reactive stuff which Akka has - Not enough control / insight over the event bus as a system
  • Ques;ons? we are hiring!