Как стать автором
Обновить

История нашего open source: как мы сделали сервис аналитики на Go и выложили его в открытый доступ

Время на прочтение 6 мин
Количество просмотров 5.9K
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 8

Комментарии 8

Самописный сервис ивент–аналитики — это одно из самых частых применений го, которые доводилось видеть среди людей/компаний, научившихся на нём писать. Не знаю даже, с чем это связано.

Пара вопросов:
1) Вы правда считаете хорошей идеей обновлять схему БД в рантайме?
2) Записывать промежуточные события в файл в век stateless–приложений выглядит не самым оптимальным решением. Есть ли рекомендации по запуску данного сервиса в docker/k8s/heroku и подобному?
1) Эта одна из фич. Все хранилища для аналитических данных (ClickHouse, BigQuery) — колончатые. То есть добавление колонки операция очень дешевая. С postgres'ом может получится реально не очень, но мы его и не советуем в production. В целом, может сделать фичу отключаемой, если нужно
2) Пока надежнее файлов ничего не придумали. Чтобы стейт не ломался, для докера у нас есть рекомендация примонтировать локальный volume. Для heroku тоже есть рекомандации, но данные и правда могут потерятся. В этом случае мы советуем использовать streaming режим, когда данные записываются в БД напрямую. Для маленьких нагрузок сойдет
Мой вопрос скорее не про цену добавления колонки, а про то, во что может превратиться табличка с легкой руки какого–нибудь скрипткидди. С точки зрения безопасности логичнее сделать эту опцию не просто отключаемой, а отключенной по умолчанию.

А вообще — успехов в развитии!
Спасибо!

Да, такая проблема есть. Мы думаем как решить, нужно набрать больше пользователей и послушать фидбек, чтобы понять как правильнее

Наверное, инстина где-то посередине. Например, ограничивать таблицу N-колонками и слать алерты, когда их стало много.
Ребята, молодцы. А планируете интегрировать с чем либо ещё?
А с чем именно? С базами данных (destinations)?
Ну, да.
Также была и третья проблема — некоторые расширения для браузера (такие как AdBlock) блокировали сбор аналитики т.к. http запросы из браузера отправлялись на домены GA и Segment


блокировщики рекламы блокируют не только по доменам, но по другим признакам. Например, успешно блокируют аналитику matomo, установленную на том же сервере что и сайт.
Вы это как решали?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий