Event-Driven Microservices

Video Description

Software developers and architects increasingly turn to microservices as a framework for improving the agility and velocity of their development efforts. But is it the right approach? This video presents a balanced view of the benefits and drawbacks of microservices. It outlines the motivations driving the adoption of microservices; compares and contrasts it to monolithic architecture; describes solutions to key problems such as inter-service communication and distributed data management; and moves on to a set of strategies for refactoring a monolithic application into a set of microservices.

  • Understand how microservice architecture tames complexity in large applications
  • Discover strategies for partitioning an application into microservices
  • Examine deployment patterns like multiple services per host and service per virtual machine
  • Understand the issues surrounding API gateways, service discovery, and service registration
  • Discover the microservice chassis - a framework for easily creating small short lived services
  • Explore the problem of data consistency in microservices and solutions to that problem
  • Learn about event sourcing, implementing queries, and command query responsibility segregation

Chris Richardson is a developer, architect, Java Champion, and JavaOne rock star. He wrote POJOs in Action (which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate) and was the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. He is the creator of microservices.io and is working on his third startup: a platform for developing reactive microservices.

Clearing a path from developer to architect and enriching that path once you arrive.

Software architecture is a fast-moving, multidisciplinary subject where entire suites of "best practices" become obsolete practically overnight. No single path or curriculum exists, and different types of architecture—application, integration, enterprise—require different subject emphasis. Whether you’re at the outset of a career as an architect or in the midst of such a career, series editor Neal Ford has curated this collection of tools and guides for aspiring and seasoned architects alike.

Publisher Resources

View/Submit Errata

Table of Contents

  1. Introduction
    1. Overview of the Video Course 00:05:46
    2. Why a Pattern Language for Microservices? 00:15:11
  2. Core Microservice Patterns
    1. Core Patterns: Overview 00:04:06
    2. Monolithic Architecture 00:10:42
    3. Introduction to the Microservice Architecture 00:14:38
    4. Benefits and Drawbacks of Microservices 00:19:44
    5. Partitioning Strategies 00:14:08
  3. Deployment Patterns
    1. Deployment Patterns Overview 00:04:05
    2. Multiple Services Per Host 00:05:20
    3. Services Per VM 00:05:58
    4. Service Per Container 00:06:02
  4. Communication Patterns
    1. Communication Patterns Overview 00:03:07
    2. Communication Patterns: API Gateway 00:12:05
    3. Communication Patterns: Inter-Process Communication 00:20:29
    4. Communication Patterns: Service Discovery 00:11:01
    5. Communication Patterns: Service Registration 00:07:48
  5. Microservice Chassis
    1. Microservice Chassis 00:07:18
  6. Event-Driven Microservices
    1. The Problem of Microservices and Data Consistency 00:12:23
    2. Using Events to Maintain Data Consistency 00:12:52
    3. Overview of Event Sourcing 00:18:09
    4. Designing a Domain Model Based on Event Sourcing 00:14:08
    5. Event Sourcing Domain Model 00:10:21
    6. Implementing Queries in an Event Source Application 00:10:38
    7. Event Sourcing and Microservices 00:03:46
  7. Getting There
    1. Incrementally Refactoring a Monolith Into Microservices 00:03:49
    2. Strategy #1: Stop Digging 00:03:02
    3. Strategy #2: Split Front-End & Backend 00:02:16
    4. Strategy #3: Extract Services 00:09:25
    5. Designing an Anti-Corruption Layer 00:05:14
    6. Refactoring Case Study 00:10:04
    7. Summary 00:03:34

Product Information

  • Title: Event-Driven Microservices
  • Author(s): Chris Richardson
  • Release date: March 2016
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491944165