Clean Architecture — подход к организации кода, где бизнес-логика в центре и не зависит от фреймворков, БД или HTTP. Слои: domain (сущности) → usecase (бизнес-логика) → delivery (HTTP/gRPC) и repository (БД).
delivery/grpc → usecase ← repository/postgres
↓
domain
Зависимости направлены внутрь: usecase знает о domain, но не знает про PostgreSQL или gRPC. Связь через интерфейсы: usecase определяет интерфейс Repository, а postgres его реализует.
Плюсы: легко менять БД, транспорт, тестировать бизнес-логику изолированно. Минусы: больше файлов и бойлерплейта. Для микросервисов на Go — один из самых популярных подходов.