wiki:Analytics_2019/Restoration

Version 6 (modified by andy, 4 years ago) ( diff )

--

Минимальное восстановление Аналитикса

Поскольку полный план Analytics_2019 затянулся, необходимо избежать умирания новых реп

  • кода на vultr
  • репы nponeccop/btcanalytics-collector
  • репы bitcoin-analytics/btca-frontend

подобно тому как это получилось с последними 3 начинаниями:

  • агрегатором
  • фикс-коллектором
  • коллектором на процессах

Для этого надо остановить новые работы и заняться переносом продакшена на vultr.

Для этого надо выполнить 3 больших задачи:

  • Починить работу Google Oauth (по необходимости для этого починить everyauth, analytics и socketstream)
  • Зарегистрировать идентификаторы OAuth-клиента для 4 основных провайдеров (Twitter, LinkedIn, Facebook, Vkontakte)
  • Проверить работоспоспособность everyauth c ними и починить everyauth

и 5 малых:

  • Проверить работоспособность биллинга
  • Проверить работоспособность репликации
  • Подключить Gearman-коллектор в текущий коллектор аналитикса
  • Выложить в опенсорс авторизацию
  • Выложить в опенсорс биллинг
  • Синхронизировать опенсорс с vultr

Обновление от ноября 2019

Поскольку план тоже провалился, есть уменьшенная версия плана с 4 большими задачами (5 малых остаются как раньше):

  • запустить старую ноду на полностью обновлённом Арче
  • запустить старые node_modules на полностью обновлённом арче
  • Зарегистрировать идентификаторы OAuth-клиента для 4 основных провайдеров (Twitter, LinkedIn, Facebook, Vkontakte)
  • Проверить работоспоспособность старого everyauth c ними

То есть мы пытаемся избежать починки everyauth и socketstream, которая затянулась так как они оба погнили основательно.

Обновление от апреля 2020

В связи с COVID-19 нечего делать, так что я немного продвинулся:

  • Ноябрьский миниплан оказался труднее в реализации, так что вернулся к версии в начале страницы
  • Everyauth портирован на Express 4 и запушен в мой гитхаб
  • зарегистрированы идентификаторы OAuth-клиента для Google и Twitter, чтобы можно было отлаживать авторизацию. Google OAuth и Twitter рабочие в тестовом примере everyauth
  • запущен аналитикс на vultr. Он периодически ломается в связи с работами, но в целом работоспособен.
  • в аналитикс установлен новый everyauth из гитхаба
  • выяснилось, что эвриаус на продакшене непатченный
  • восстановлена работоспособность логина
    • восстановил старый код налепливания middleware "снаружи" сокетстрима
    • отключен механизм отключения куки-заголовков, который нужен был для улучшения кеширования

Осталось сделать:

  • проверить работоспособность биллинга
  • в сокетстриме 2 патча:
    • для рейс-кондишена при записи сессий
    • для отказа от ручного паршения куки

После чего у нас будет работоспособная future-proof версия продакшена. Её можно будет заморозить и переключить на неё продакшен с оушена.

Опциональные работы:

  • восстановить кеширование в варнише
    • рубить заголовки Cookie: и Set-Cookie:, как это было сделано раньше
    • проверить работоспособность вебсокет-транспорта
    • портировать синтаксис .vcl на Varnish 6
  • обновить список социальных логинов
  • снизить тарифы
  • Выложить в опенсорс авторизацию
  • Выложить в опенсорс биллинг
  • Синхронизировать опенсорс с vultr

Обновление от августа 2020

  • в коллектор добавлено 15 бирж на "минимальном" фреймворке, новые биржи в collector/lib/exchange, старые не менялись
  • из вышеперечисленных 7 бирж сделаны за деньги Алексом на винде в Visual Studio на тайпскрипте в приватной репе github.com/bitcoin-analytics/btcanalytics-collector, синхронизация в ручном режиме - копирую *.js результат компиляции в нашу меркуриал-репу
  • yahooapis заменен на https://exchangeratesapi.io/, в результате частично заработал XArbitrage
  • осталось сделать поддержку левых валют - в старом XArbitrage были захардкожены SLL, LTC и XRP, cейчас же у нас Х валют разной степени левизны:
Note: See TracWiki for help on using the wiki.