Consumes vehicle position reports from a queue. Stores them in-memory for testing.
Note: the implementation of a data store for this microservice is probably not threadsafe. I have made a (half hearted) attempt to make it threadsafe, but I'm fairly certain it is not problem free. If this were intended for battle tested production, I would work much harder at this. However, it is intended to be a quick and dirty test of a microservice and no lives will be lost in the event of a race condition. "In Real Life" we'd be using a proper datastore so all of this should be a moot point.
In today's fast-paced DevOps world, deploying microservices at scale demands a robust and integrated approach. This guide dives into a production-grade, six-tier microservices architecture deployed on Amazon EKS.
- Continuous Integration (CI): Jenkins for automating build and testing processes.
- Infrastructure as Code (IaC): Terraform for managing and provisioning infrastructure.
- Continuous Deployment (CD): ArgoCD for deploying applications continuously and reliably.
- Monitoring and Observability: Prometheus and Grafana for metrics and dashboards; ELK stack for centralized logging.
- Automated Alerts: Slack notifications for instant alerts on failures, ensuring rapid response.
- Security and Quality: SonarQube for static code analysis and Trivy for container image scanning.
Designed to track and simulate truck movements on a map, this project generates truck positions using the Position Simulator microservice, with no real trucks involved. The system not only displays real-time positions but also records the historical paths traveled by the trucks, providing a complete overview of their movements.