Why?

The project is supposed to serve as a fully contained easily deployable demo of microservice observability. Want to see how it works on the dashboards? Sure. Want to rip some example code out to use in your project? You got it! The possibilities are... fairly limited.

What is MELT?

MELT stands for Metrics, Events, Logs, and Traces, which are the 4 pillars of Observability. Some might tell you there are 3, but that is false, fight me. Read more

Metrics

Time series of numeric aspect of a system or an application.

Events

Discreet pieces of structured data that are emitted when something interesting happens.

Logs

Pieces of readable text data that are normally used by software engineers.

Traces

A hierarchical set of data that contains information about a path of a request as it follows a complex path through the whole system

Services

The microservices in this project are small and simple.

Reddit dispatcher

Stream submissions and comments from Reddit and forward the json objects to an endpoint. Written in Python.

Submission service

Listen for json submission objects from the dispatcher service and save them to a database. Written in C#.

Comment service

Listen for json comment objects from the dispatcher service and save them to a database. Written in NodeJS.

MongoDB

A database to store the data. Submission and comment services connect to it.