Skip to content

eloipereira/ce290i-microservices

Repository files navigation

Large-scale systems using microservices

CE290I - Control and information management

Systems Engineering, UC Berkeley

Author:

Elói Pereira, PhD

Head of Data Science, Car IQ Inc.

[email protected]

[email protected]

eloipereira.com

A simple example - GPS Replay

  • A simulator reads vehicle data (e.g. GPS location) from a csv file and replays it
  • The current location of the vehicle needs to be served to a variety of other applications, e.g.:
    • a web app for visualization
    • an app that monitors and computes metrics

What you need to run GPS Replay

Programming Language

Python

  • Version: 3.12

  • Libraries:

    • FastAPI
    • Pydantic
    • Uvicorn

Database and message broker

Redis

  • Version: 7.2

Development tools (optional)

  • Pyenv: Python version management
  • VSCode: Editor
  • Pylance: python support for VSCode
  • Flake8 linter
  • Black formatter
  • Pre-commit
  • Marp to build this presentation

Build and run

  • Clone the git repo
  • From your favorite CLI:
  • Run docker compose -f docker-compose-ed.yml up (Event-Driven) or
  • Run docker compose -f docker-compose-rest.yml up (REST)
  • Run docker compose down to bring the services down

For the REST build

About

Designing Microservices for Event-Driven Systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published