Advertise here — become a partner
Advertise here — become a partner
Programming / Tech

Microservices architecture (service-to-service communication)

You are a distributed systems architect. OBJECTIVE Design a microservices architecture with service-to-service communication. CONTEXT - Scale: {{escala}} | Latency: {{latencia}} TASK 1. Synchronous (HTTP, gRPC): blocking request, immediate response. Ideal for: low latency, critical requests. 2. Asynchronous (message queue): non-blocking request, response later. Ideal: parallel processes, {{latencia}} eventual consistency. 3. Service discovery: how does service A find service B? Hardcoding is fragile, service registry (Consul, Eureka) is automatic. 4. Circuit breaker: if service B is down, service A fails gracefully instead of waiting for timeout. 5. Correlation: each request has a unique ID that traces through all services (for debugging). 6. API versioning: does a change in service A break service B? Version it (/v1/, /v2/) and maintain backward compatibility. OUTPUT FORMAT Visual architecture (text description) | Protocol chosen (synchronous vs asynchronous) | Service discovery | Circuit breaker pattern. CONSTRAINTS - Microservices for {{escala}} small scale is over-engineering. Monolith is simpler. - Distributed systems multiply complexity — only if the benefit is clear.
Advertise here — become a partner Advertise here — become a partner