docker compose build
docker compose up
or
docker build -t happyheaders-api:latest
docker compose up --build
- If FIRST build include --build in docker compose like this:
docker compose up --build
- RabbitMQ broker is exposed on
5672and management UI on15672. ArticleQueueinitializes exchange/queue topology for article events.PublisherServicepublishes/publishArticlemessages to RabbitMQ.ArticleServiceconsumes from queue and stores articles in SQL.
ArticleCacheServiceis a separate microservice and Docker container.ArticleServicecallsArticleCacheServiceover HTTP (no project references between services).ArticleCacheServiceuses two cache layers: L1 (IMemoryCache) and L2 (Redis).- Cache is preloaded periodically with articles from the last 14 days.
- Cache hit/miss counters are stored in Redis and exposed by
ArticleCacheServiceonGET /api/cache/stats. - Grafana includes an auto-provisioned dashboard:
Article Cache Overview(datasource: Infinity JSON API).
Default local URLs:
- Grafana:
http://localhost:3000 - ArticleCacheService stats:
http://localhost:8086/api/cache/stats