마이크로서비스
독립적으로 배포 가능한 서비스 아키텍처.
Microservices break a large, monolithic application into smaller, loosely coupled services. Each service handles a specific business function (e.g., 'Payment', 'User Profile') and can be developed, deployed, and scaled independently. They typically communicate via lightweight protocols like REST or gRPC.
graph LR
Center["마이크로서비스"]:::main
Rel_rest_api["rest-api"]:::related -.-> Center
click Rel_rest_api "/terms/rest-api"
Rel_microservice_architecture["microservice-architecture"]:::related -.-> Center
click Rel_microservice_architecture "/terms/microservice-architecture"
Rel_api_development["api-development"]:::related -.-> Center
click Rel_api_development "/terms/api-development"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 지식 테스트
🧒 5살도 이해할 수 있게 설명
If a monolithic app is like a giant Swiss Army knife where everything is connected, microservices are like a tool belt with separate tools. If your screwdriver breaks, you can just replace it without throwing away the whole belt. Each tool does one job perfectly.
🤓 Expert Deep Dive
Microservices enable 'Polyglot Persistence' and programming, where each service can use the best database or language for its specific task. Challenges include complex networking, distributed tracing, and maintaining data consistency across services (Saga pattern).