Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reactive & Distributed – Архитектура современно...

SECR 2018
October 12, 2018

Reactive & Distributed – Архитектура современного приложения

SECR 2018
Орхан Гасымов
Digital Transformation Architect, GlobalLogic

За последние годы требования к современным приложениям возросли от гигабайтов данных до терабайтов, от тысяч запросов в секунду до миллионов, от секунд на время отклика до миллисекунд, и этот список можно продолжать. До сих пор большинство подобных задач решались применением микросервисной архитектуры, однако, что дальше? Какой следующий подход применить там, где микросервисы не справляются? В этом докладе мы поговорим о современных подходах к разработке приложений с реактивной и распределенной архитектурой.

SECR 2018

October 12, 2018
Tweet

More Decks by SECR 2018

Other Decks in Programming

Transcript

  1. Orkhan Gasimov Digital Transformation Architect @ GlobalLogic 15 years of

    software engineering; training & mentorship; author of trainings about: Microservices; Spring Cloud; Akka; 2 Speaker
  2. 8 Evolution App Server 1 Module Module Module Module App

    Server N Module Module Module Module Monolith
  3. 9 Evolution App Server 1 Module Module Module Module App

    Server N Module Module Module Module Admin Server Deployment & Configuration Monolith
  4. 10 Evolution Module Module Module Module Module Module Module Module

    Admin Server Deployment & Configuration Monolith
  5. 12 Evolution App App App App App App App App

    Discovery & Configuration Monolith Microservices
  6. 25 Evolution App App App App App App App App

    Discovery & Configuration Monolith Microservices Discounts Sales Warehouse Accounting
  7. 26 Evolution App App App App App App App App

    App App App App App App App App App App App App Discovery & Configuration Monolith Microservices
  8. 27 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Discovery & Configuration Monolith Microservices
  9. 28 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Modules Discovery & Configuration Monolith Microservices
  10. 29 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Modules Fn Discovery & Configuration Monolith Microservices
  11. 30 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Modules Fn ? Discovery & Configuration Monolith Microservices
  12. 31 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Server Modules Fn ? Discovery & Configuration Monolith Microservices
  13. 32 Evolution App App App App App App App App

    App App App App App App App App App App App App Server Modules ? Server Modules ? Server Modules ? Server Modules ? Server Modules ? Server Modules ? Server Modules ? Server Modules ? Discovery & Configuration Fn Fn Fn Fn Fn Fn Fn Fn Monolith Microservices
  14. 41 CQRS + Event Sourcing Query Command Client API Gateway

    Service Registry Command Query DB DB
  15. 42 CQRS + Event Sourcing Query Command Client API Gateway

    Service Registry Command Query DB DB Event Store
  16. 43 CQRS + Event Sourcing Query Command Client API Gateway

    Service Registry Command Query DB DB Event Store Event Handler
  17. 44 CQRS + Event Sourcing Query Command Client API Gateway

    Service Registry Command Query DB Event Store Event Handler DB Fn Fn Fn
  18. 46 CQRS + Event Sourcing Query Command Client API Gateway

    Service Registry Command Query DB Event Store Event Handler DB Fn Fn Fn
  19. 52 Basic Architecture Worker Worker Worker delegate long running jobs

    & IO callback Fn Client Client Client Fn Fn Fn request response Event Bus
  20. 53 Monolith Evolution App App App App App App App

    App Discovery & Configuration Microservices W o r k e r W o r k e r W o r k e r delegate long running jobs & IO callback F n C l i e n t C l i e n t C l i e n t F n F n F n request response E v e n t B u s
  21. 54 Evolution App App App App App App App App

    Discovery & Configuration Monolith Reactive & Distributed Microservices
  22. 55 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Monolith Reactive & Distributed Microservices
  23. 56 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Distributed Platform Monolith Reactive & Distributed Microservices
  24. 57 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Distributed Platform Monolith Reactive & Distributed Microservices
  25. 58 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Distributed Platform Monolith Reactive & Distributed Microservices
  26. 59 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn Distributed Platform Monolith Reactive & Distributed Microservices
  27. 60 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? Distributed Platform Monolith Reactive & Distributed Microservices
  28. 61 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? Distributed Platform Monolith Reactive & Distributed Microservices
  29. 62 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? HTTP Distributed Platform Monolith Reactive & Distributed Microservices
  30. 63 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  31. 64 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Event Bus Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  32. 65 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Event Bus Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  33. 66 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Event Bus External Apps Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  34. 67 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Event Bus External Apps IoT Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  35. 68 Evolution Module Module Module Module Module Module Module Module

    Discovery & Configuration Fn Client Fn ? ? ? ? ? Event Bus External Apps Cloud IoT Distributed Platform Monolith Reactive & Distributed Microservices HTTP
  36. 69 Monolith Evolution Module Module Module Module Module Module Module

    Module Discovery & Configuration Reactive & Distributed Microservices Distributed Platform Fn Client Fn ? ? ? ? ? Event Bus External Apps Polyglot Cloud IoT HTTP
  37. Reactive Manifesto 70 Module Module Module Module Module Module Module

    Module Fn Client Fn ? ? ? ? ? Event Bus External Apps Polyglot Cloud IoT HTTP Responsive Message Driven Elastic Resilient
  38. Reactive & Distributed Event Bus Server 1 Server 2 Server

    3 Server N ... 82 Handler Handler Handler Handler Handler Handler
  39. Reactive & Distributed Event Bus Server 1 Server 2 Server

    3 Server N ... 83 Module Module Module Handler Handler Handler Handler Handler Handler
  40. Reactive & Distributed 84 Event Bus Server 1 Server 2

    Server 3 Server N ... External Apps Data Sources Metrics Cloud IoT Devices etc. Module Module Module Handler Handler Handler Handler Handler Handler
  41. Reactive & Distributed 85 External Apps Data Sources Metrics Cloud

    IoT Devices etc. Module Module Module Event Bus Handler Handler Handler Handler Handler Handler Server 1 Server 2 Server 3 Server N ...