Redis
Redis is an in-memory data store (key-value database).
It's used:
- Extremely fast (RAM-based)
- Caching data to reduce DB load
- Session storage
- Rae limiting
Common use cases:
- Cache API responses
- Store login sessions
- Leaderboards, counters
Travis CI
TravisCI is a CI (Continuous Integration) service.
It's used:
- Automatically runs tests on every GitHub push or PR
- Simple YAML-based configuration
Typical flow:
git push -> Travis CI -> run tests -> report result
CircleCI
This is a CI/CD platform (more powerful than Travis CI).
It's used:
- Fast builds
- Parallel jobs
- Advanced workflows
- Docker-first support
Typical use:
- Test -> build -> deploy pipelines
OpenAPI
OpenAPI is a standard specification for describing REST APIs.
It's used:
- API documentation
- Auto-generate client/server code
- API validation
Very important for team development and public APIs.
RabbitMQ
It is a message broker.
It's used:
- Asynchronous communication: the sender does not wait for the receiver to finish processing.
- Decoupling services: don't directly depend on each other.
Order Service → Message Broker → Email Service- Not
Order Service → Email Service (direct API call): If Email Service is down -> Order Service fails.
- Reliable message delivery
Typical pattern:
Producer -> RabbitMQ -> Consumer
Best for:
- Background jobs
- Email sending
- Task queues
Kafka
It is a distributed event streaming platform.
It's used:
- High-throughput event processing
- Real-time data pipelines
- Log aggregation
RabbitMQ vs Kafka:
- RabbitMQ -> task queues
- Kafka -> event streams & big data
Used heavily in large-scale systems.
Elasticsearch
It is a search and analytics engine.
It's used:
- Full-text search
- Fast filtering and aggregation
- Log searching
Common use cases:
- Website search
- Log analysis
- Analytics dashboards
Often used with Kibana.
ElastiCache (AWS)
It is AWS-managed Redis or Memcached service.
It's used:
- No server management
- High availability
- Auth scaling
Use cases:
- Session cache
- API caching
- Leaderboards
Basically Redis on AWS, production-ready.
Fluentd
It is a log collection and forwarding tool.
It's used:
- Collect logs from many sources
- Normalize log formats
- Send logs to Elcasticsearch, BigQuery, S3, etc.
Typical flow:
App logs -> Fluentd -> Elasticsearch
Essential in Kubernetes environments.
gRPC
It is a high-performance RPC framework by Google.
It's used:
- Faster than REST
- Strongly typed (Protocol Buffers)
- Efficient binary communication
Best for:
- Microservices
- Internal service-to-service communication
Less human-readable than REST, but very fast.
BigQuery
It is Google Cloud's serverless data warehouse.
It's used:
- Analyze huge datasets.
- SQL-based analytics
- No infrastructure management
Use cases:
- Business analytics
- Log analysis
- Data science
Ideal for bit data, not transactional workloads.
Sentry
It is an error monitoring tool.
It's used:
- Capture runtime errors
- Stack traces
- User impact tracking
Supports:
- Frontend (React, Vue)
- Backend (Node.js, Java, Go)
Helps you fix bugs faster.
New Relic
It is an application performance monitoring (APM) platform.
It's used:
- Monitor performance
- Trace slow APIs
- Infrastructure metrics
- Alerts
Tracks:
- Response time
- Database queries
- Memory / CPU usage
Used for production obervability.
Example Architecture
Frontend (React)
↓
API (Node / Java) | Redis / ElastiCache (cache)
↓
Database (MySQL)
↓
RabbitMQ / Kafka (async events)
Logs -> Fluentd -> Elasticsearch
Errors -> Sentry
Performance -> New Relic
CI/CD -> CercleCI
API Spec -> OpenAPI
Top comments (0)