Microservices 将应用程序拆分为小型、独立可部署的服务,每个服务都拥有特定的领域并通过网络进行通信。Node 的轻量级、快速启动的特性很适合它们 — 但是这种架构引入了分布式系统的复杂性,需要你进行规划。
单体 vs 微服务
text
Monolith: one codebase/deployment — simple to build, harder to scale teams
Microservices: many small services — independent deploy/scale, but distributed complexity
微服务用操作灵活性换取进程内的简洁性 — 只有在你真正需要独立伸缩/部署或拥有多个团队时才值得。
服务之间的通信
text
Synchronous: REST / gRPC — direct request/response (simple, but tight coupling + cascading failures)
Asynchronous: message queues (RabbitMQ, Kafka) — events, decoupled, resilient
js
