About microservices.io

Microservices.io is brought to you by Chris Richardson. Experienced software architect, author of POJOs in Action and the creator of the original CloudFoundry.com. His latest startup is eventuate.io, a microservices application platform.

Learn more about microservices

Chris offers a comprehensive set of resources for learning about microservices including articles, an O'Reilly training video, and example code. Learn more

Microservices consulting and training

Chris offers a comprehensive consulting services, workshops and hands on training classes to help you use microservices effectively. Get advice

Need training in London?

I'll be there in May! Contact me

Example microservices applications

Want to see an example? Check out Chris Richardson's example applications. See code

The patterns

How to apply the patterns

Core patterns

Decomposition

Deployment patterns

Cross cutting concerns

Communication style

External API

Service discovery

Reliability

Data management

Security

Testing

Observability

UI patterns


Signup for the newsletter

A new microservices application platform that solves distributed data management problems.

Join the microservices google group

Pattern: Exception tracking

Context

You have applied the Microservice architecture pattern. The application consists of multiple services and service instances that are running on multiple machines. Errors sometimes occur when handling requests. When an error occurs, a service instance throws an exception, which contains an error message and a stack trace.

Problem

How to understand the behavior of an application and troubleshoot problems?

Forces

  • Exceptions must be de-duplicated, recorded, investigated by developers and the underlying issue resolved
  • Any solution should have minimal runtime overhead

Solution

Report all exceptions to a centralized exception tracking service that aggregates and tracks exceptions and notifies developers.

Resulting Context

This pattern has the following benefits:

  • It is easier to view exceptions and track their resolution

This pattern has the following drawbacks:

  • The exception tracking service is additional infrastructure
  • Log aggregation - exceptions should be logged as well as reported to a tracking service

Copyright © 2017 Chris Richardson • All rights reserved • Supported by Kong.