пулом конекшенов на го? брать с пула конекшен к каждом методе репозитория - бред тк теряется транзакционнассть между методами. Добавлять контекст к параметрам и брать с пулла в где-то в миделварах - получим магию неполноценный обьект репозитория и занятый конекшенен на каждый запросс даже если от базы ничего и не нужно. К тому же если добавить к контексту транзакцию все еще усложнится.
можно свой пул сделать, написиать миидервары на grpc/http и там ловить паниики и инжектить в контекст ленивые конекшены либо транзакции и там же откатывывать их если никто не заккомитил но это все попахивает велосипедостроением
В идеале хотлось бы брать конекшен когда только нужно, транзакцию с собой по коду не таскать а стартоввать в нужных методах и только если в текущем скоупе (реквеста) она не стартанула
а какая разница golang это или python? стратегия работы с пулом коннекшенов везде одинаковая
вопрос в готовых инструментах/практиках. Да и как работать понятно, скорее как сделать это красиво и без велосипедов
разница все же есть в go std lib пул коннектов sql встроенный
я ж не про пул, а про стратегию работы с ним
А что это означает на практике?
что, например, когда вы открываете транзакцию - go сам заботится, чтобы коннект был к ней привязан до ее закрытия
Окей, тогда конекшены отдам полностью на откуп дайверу. По транзациям и как их явно не таскать по коду еще погуглю, там яснее уже
главное лимиты не забудь выставить
Обсуждают сегодня