Перейти к основному содержимому

Настройка инфраструктуры и сервисов Time

Кроме сервисов Time, также необходимо запустить и настроить инфраструктурные сервисы. Инфраструктурные сервисы необходимо запустить до запуска сервисов Time.

Настройка инфраструктуры

Требования к настройке инфраструктурных сервисов — минимальные:

ПараметрFlavor
PilotXSSmallMediumLarge
PostgreSQL (v13-v14)
Режим изоляцииtransaction
Max connections1001505008001300
Kafka (начиная с v2.8)
Идемпотентный продюсер (enable.idempotence=true)поддерживается (не требуется)
Elasticsearch (v7.10.2-v7.17) / OpenSearch: 2.8.0
Плагины
Redis (начиная с v6.2)
Redis SentinelНе требуетсяТребуется
S3
SSD/HDD100 ГБ200 ГБ400 ГБ1024 ГБ
Балансировщик
Максимальный размер загружаемого файлаУвеличьте максимально допустимый размер загружаемых файлов при необходимости. Для Nginx это client_max_body_size.

Настройка сервисов Time

ПараметрFlavor
PilotXSSmallMediumLarge
time-server
ElasticsearchSettings: BatchIndexerElasticWorkersCount22222
ElasticsearchSettings: BatchIndexerDbFetcherWorkersCount2481216
time-front
осторожно

ВАЖНОЕ ИЗМЕНЕНИЕ!

Начиная с версии time-v3.0.0 инсталляция Time изменилась: веб-клиент Time был вынесен в отдельный компонент time-front, до этого веб-клиент был внутри time-server — см. Схема взаимодействия компонент.

Для перехода на новую схему потребуется внести изменения:

  • задеплоить новый компонент time-front
  • поменять маршрутизацию запросов на вашем балансировщике (см. в дистрибутиве шаблон конфига Nginx time-kustomize/time-front/base/cfg/nginx.conf.template) — в компонент time-front должны идти запросы только к веб-клиенту, а запросы на Time API — в time-server
time-pns
Прокси

Для успешной отправки push-уведомлений сервису необходим доступ до серверов Apple/Google (при отсутствии прямого доступа необходимо настроить прокси):

  • Apple: api.push.apple.com:443
  • Google:
    • gateway.push.apple.com:2195
    • fcm.googleapis.com:443
Web Push

Для включения push сообщений для PWA приложения, необходимо установить следующие environment переменные у сервиса time-push-notification-server:

  • WEBPUSH_VAPID_PUBLIC_KEY
  • WEBPUSH_VAPID_PRIVATE_KEY

Для получения этих ключей необходимо запустить консольную утилиту vapid-gen: data.tinkoff.ru/apps/files/?dir=/time/PNS_secret_generator.

Пример вывода утилиты
WEBPUSH_VAPID_PUBLIC_KEY=BA48p1r4un...zfVpZk7RNPLPP4Q
WEBPUSH_VAPID_PRIVATE_KEY=5e3QYVt5s...AlyXoRI0lTc

Эти ключи будут использоваться для верификации отправителя и подписи web push сообщений.

slack-time-proxy (опционально)

Описание и использование — Slack-Time Proxy.

осторожно

Публикация сервиса в интернет несёт существенные риски безопасности!