Victor Rentea

Trainer and Consultant
With 20 years of experience, Victor Rentea (@VictorRentea) is a Java Champion who dedicated his career to training and inspiring thousands of engineers in over 150 companies worldwide. Based on the lessons learned from the trenches, he gave many top-rated talks at conferences in Europe and online. You can meet Victor online at his monthly events for European Software Crafters, the world’s largest community on improving code quality. If you are interested in first-class training services, consultancy, and free videos, check out https://victorrentea.ro


Workshop topic:
Microservice Patterns

Time & Date:
October 28 & 29 | 9am-5pm CET

Microservices are a very powerful, yet dangerous architecture. After we clarify the reasons for distributed systems, you will master key techniques for building fault-tolerant systems, best practices and pitfalls of asynchronous communication, event-driven architectures, and techniques for maintaining distributed consistency.

Agenda:

Introduction to Microservices

  • Definition and History
  • Benefits and Drawbacks
  • Organization/Architecture alignment (Conway’s Law)
  • Team Topologies Intro

From Monolith to Modulith to Microservices

  • Technical vs Domain partitioning
  • Module contract
  • Module interaction patterns
  • Data decoupling, database refactoring
  • Extracting a Module as a Microservice
  • Exercise: refactoring to decoupled modules

API Design and Management

  • REST APIs, Swagger/OpenAPI
  • API Semantic Versioning (semver.org)
  • Exercise: identify API breaking changes
  • API Gateway, BFF Pattern, API Aggregator & Strangler Fig Pattern
  • Contract Tests
  • Authentication / Authorization Strategies

Patterns for High Availability

  • Resilient Deployment Patterns
  • Isolation Patterns: Fallback, Retry, Idempotency, Async HTTP
  • Latency Control Patterns: Timeout, Throttling, Circuit Breaker,  Multiplexing
  • Exercise: configure resilience parameters
  • Sidecar pattern (Istio)

Message-Based Asynchronous Communication

  • Messaging vs RPC (REST)
  • Messaging Patterns: DLQ, message priority, correlation-id, claim check
  • Commands vs Events (Notifications vs Stateful)
  • Choreography vs Orchestration
  • Event-Driven Architecture Styles
  • Exercise: Select comm: REST, MQ, Event, WebSocket, GraphQL, Event-stream

Maintaining Distributed Consistency

  • CAP Theorem and Eventual Consistency
  • Inbox and Outbox Pattern, Change Data Capture
  • Handling Errors with Compensations, Reservations, and the Saga Pattern
  • Exercise: designing a food delivery app
Operating Microservices
  • Health Checks
  • Centralized logging, Metrics and Request tracing (OTEL)
Testing
  • Honeycomb Testing Strategy
  • Service Mocks for End-to-end testing

* If you're interested in this program, please contact us at info@itkonekt.com to find out more about availability and prices.