Skip to main content

Reactive Architecture - Professional
Enrollment in this course is by invitation only

This course will introduce you to some of the tools and techniques used to build Reactive systems.
Enrollment in this course is by invitation only

FILTER_TYPE_INSTRUCTOR

FILTER_TOPIC_REACTIVE_ARCHITECTURE

On-site and Remote Options Available

This is a three day course with a live instructor offered to private groups of 5-12 people. At this time, we do not offer the course to individuals. Please contact us to arrange a your group booking. Please ensure you include the name of the course you are inquiring about.

CONTACT US

About This Course

Designing Reactive systems and microservices requires architects and teams to think differently about design - taking into account concurrency, messaging and coordination - in order to achieve the promise of resilient and elastic software. As microservices have emerged as the gold standard of developing modern software applications, every team needs to develop a deep understanding of how to design, build and operate software in a Reactive world if they want to remain relevant.

The Lightbend Reactive Architecture course teaches teams - from development managers to architects to software developers - how to think about and leverage Reactive architectures from design through to production operations.

The course presents a series of architectural exercises. Students will work in groups to address problems and design solutions. The exercises are completed without the use of code. This allows the course to appeal to a broad audience.

Watch the course author, Wade Waldron, give some background on the course

Participant

  • Developers and Architects looking to develop Reactive systems
  • Architects with an interest in Domain Driven Design and related architectural patterns
  • Managers and Team Leads looking for elasticity, resilience and scale in their products and systems

Logistics

  • Level:Intermediate - practical experience in software development and analysis is assumed
  • Length:Three days - 21 hours of classroom time, plus breaks
  • Approach :Extensive design and discussion - students design a Reactive application, analyzing a sample domain, and contrasting it with a monolithic application design
  • Requirements :Students must bring their own laptops. Pen, paper, sticky notes and whiteboards are assets for exercise work.

Outline

  1. Why Reactive
    • Reactive Manifesto
    • Reactive Principles
    • Reactive Systems
    • Reactive Programming
    • Actor Model
  2. Domain Driven Design
    • Ubiquitous Language
    • Bounded Contexts
    • Anti-Corruption Layers
    • Command, Events, Queries
    • Value Objects, Entities, Aggregates
    • Services, Factories, Repositories
    • Hexagonal Architecture
  3. Reactive Microservices
    • Microservices vs Monoliths
    • Isolation of State, Space, Time, Failure
    • Bulkheading
    • Circuit Breakers
    • Gateway Services
  4. Consistency, Availability, Scalability
    • Performance vs Scalability
    • Strong Consistency vs Eventual Consistency
    • Contention and Amdahl's Law
    • Coherency and Gunther's Law
    • Sharding
    • CRDTs
  5. Messaging and Coordination
    • Synchronous vs Asynchronous Messaging
    • Saga Pattern
    • Two Generals Problem
    • Delivery Guarantees
    • Point to Point
    • Publish/Subscribe
  6. CQRS/ES
    • Audit Logs
    • Event Sourcing
    • Command Sourcing
    • CQRS
    • Consistency, Availability, Scalability in CQRS

Related Blog Post

Introducing A New Remote/Onsite Training Course To Help Development Teams Learn Reactive Architectures

Related Trainings

  • Lightbend Scala Language - Professional
  • Lightbend Scala Language - Expert
  • Lightbend Akka for Scala - Professional
  • Lightbend Akka for Scala - Expert
  • Lightbend Akka for Java - Professional
  • Lightbend Akka for Java - Expert
Enrollment in this course is by invitation only