Start with a modular monolith
One codebase, one deploy — but with clean internal boundaries between modules. It's the fastest way to build now, and it keeps the option to split a service out later, once you actually know where the seams are.
在以下情况选择它
- One team, or an early-stage product still changing shape
- Everything scales together and ops is a small crew
- You want to move fast and keep your options open
权衡
- Needs discipline to keep module boundaries from blurring
- Everything deploys together — one bad change can hold up the rest
- Very different scaling needs eventually push you to split a part out