Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Vert.x clustering on Docker, CoreOS and ETCD

9.234 visualizaciones

Publicado el

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.

Publicado en: Internet
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Vert.x clustering on Docker, CoreOS and ETCD

  1. 1. Tim Nolet tim@magnetic.io Vert.X  clustering  on  Docker,   CoreOS  and  ETCD =+{ }+
  2. 2. So  what’s  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
  3. 3. CoreOS - Just a Linux Distro - Run apps in containers - On the fly updating - Fast boot times - Systemd images: coreos.com
  4. 4. ETCD - Distributed key/value store - Like a directory tree - JSON/REST API - Uses a Discovery URL images: coreos.com
  5. 5. Docker - REALLY portable… - Images/containers - JSON/REST API - Emits events! <= important! images: docker.io
  6. 6. Pre-­‐alpha  stack AWS / On premises CoreOS ETCD Docker CoreOSCoreOS DockerDocker DockerDockerDocker DockerDockerDocker Hazelcast DockerDockerVert.x DockerDockerVert.x DockerDockerVert.x
  7. 7. AWS / Vagrant / Bare Metal CoreOS Box Docker JVM / Vert.x priv. IP pub. IP pub. IPpriv. IP priv. IP pub. IP bootstrapping  the  event  bus:   Russian  dolls
  8. 8. Vamp - vamp bootstrap - vamp controller - vamp agent - vamp metrics - vamp docker - vamp discovery - vamp templates - vamp dashboard - etc. etc. etc…
  9. 9. Vamp_agent (Vert.x module) cluster_boot.sh vamp_bootstrap run configure! 1 2 5 3 4 Boot ETCD get/set pub. IP SYSTEMD pub. IP vamp_bootstrap.java download! 6 expose pub. IP’s to other Vert.x instances
  10. 10. some  code…
  11. 11. hey  presto… ! ██╗   ██╗ █████╗ ███╗   ███╗██████╗   ██║   ██║██╔══██╗████╗ ████║██╔══██╗  ██║   ██║███████║██╔████╔██║██████╔╝  ╚██╗ ██╔╝██╔══██║██║╚██╔╝██║██╔═══╝    ╚████╔╝ ██║  ██║██║ ╚═╝ ██║██║         ╚═══╝  ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝                              version 1.1                        by magnetic.io ! ==> 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
  12. 12. coreos Let’s  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
  13. 13. and  while  that’s   running…
  14. 14. …the  good  parts - Vert.x with Docker/CoreOS/ETCD is cool because: - Size: in MB’s and in complexity - Event bus makes distribution easy - polyglot works nice with the idea of micro services
  15. 15. …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
  16. 16. Ques;ons? we are hiring!

×