O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Reactive Microservices with Vert.x

1.432 visualizações

Publicada em

This presentation is about my talk on TDC 2015. It is an invite for you to understand and know more about reactive programming and vert.x to develop your microservices.

Vertx Documentation > http://vertx.io/docs/
Martin Fowler > http://martinfowler.com/articles/microservices.html
Reactive Manifesto > http://reactivemanifesto.org

Publicada em: Software
  • Seja o primeiro a comentar

Reactive Microservices with Vert.x

  1. 1. Microservices In the beginning there was Vert.x
  2. 2. Braz, Anderson Software Engineer Java Man since 2000, postgradute, open source contributor, speaker and training consultant mrbrazjava
  3. 3. Monolith Microservices
  4. 4. Why is responsiveness now more important than ever? Mobile Devices Cloud Environment Multicore Architecture Real-timeInteractive Collaborative
  5. 5. Reactive “Readly responsive to a stimulus” Responsive (React to Users) Resilient (React to Failure) Elastic (React to Load) Message Driven (React to Events)
  6. 6. Message Driven “The flow of the program is determined by events”
  7. 7. Immutability Avoid share mutable states and objects
  8. 8. Avoid Blocking Kills Scalability and Performance
  9. 9. Elastic “Capable of being easily expanded or upgraded on demand”
  10. 10. How do I know if I have a performance problem?
  11. 11. How do I know if I have a scalability problem?
  12. 12. The network is inherently unreliable
  13. 13. Embrace the network “Be of the web, not behind the web”
  14. 14. Location Transparency “It is not about ESB stupid”
  15. 15. Resilience “The capacity to recover quickly from difficulties”
  16. 16. Old school way
  17. 17. Old school way Error Response Worst in a Multi Thread
  18. 18. Worst in a Multi Thread Old school way
  19. 19. Doing Better Failure is an Event Avoid Cascading Manage locally Isolate the failure
  20. 20. Responsive “Quick to respond or react appropriately”
  21. 21. Asynchronous Events Loosely coupled architecture Lower Latency Better Throughput
  22. 22. Vert.x Lightweight Reactive Polyglot Middleware
  23. 23. Verticles Non-Blocking Event Loop Scalable Simple
  24. 24. Worker Blocking Worker Loop Non-concurrent Verticle
  25. 25. Event Bus Point 2 Point Pub/Sub Handlers Addressing
  26. 26. Server and Client HTTP/S and TCP
  27. 27. File System Both Blocking and Non-blocking
  28. 28. Shared Data Local and Distributed using Hazelcast
  29. 29. High Availability Cluster Manager using Hazelcast with automatic failover
  30. 30. Rich Ecosystem Asynchronous JDBC, Mongo, Redis Web & Microservices Autentication & Ãuthorization Metrics (Dropwizard) Openshift & Docker Unit Test
  31. 31. Braz, Anderson Software Engineer Java Man since 2000, postgradute, open source contributor, speaker and training consultant mrbrazjava