app использует только domain и возможности Go Пакет main всё создаёт, связывает и запускает Уровень infrastructure использует app и domain, а также технологии SQL, Redis, HTTP, GRPC и т.д. ◦ Максимум одна технология на один пакет
инцидентов • Ошибки и panic возникают при обработке запросов к API 4 Поэтому: • Все неожиданные ошибки попадают в лог • Любая ошибка или panic влияет только на один запрос
что-то, пока оно не заработает, и иду дальше. Настоящий программист скажет: “да, оно работает, но память течёт”. А я просто буду перезапускать Apache на каждые 10 запросов. Расмус Лердорф, автор языка PHP
в дополнение свою библиотеку errors 2. Напишите свои пакеты log и jsonlog 3. Используйте чистую архитектуру, читайте книги Robert Martin 4. Используйте паттерн Middleware, чтобы обрабатывать ошибки в едином месте 26