Мислеше, че е сложен индекс, но оптимизаторът не пренарежда ли колоните в необходимия ред?
Golang
Можеш ли да разкажеш за деплой чрез Docker — как работеше?
Защо не използваха Testcontainers?
Вашият сервис беше API, което използваха други услуги. В Redis съхранявахте данни за обогатяване — защо не обръщахте към услугата за справочници (за складове и т.н.) при всеки заявка?
Къде съхранявахте метриките? Не използвахте ли VictoriaMetrics?
Добре, тогава какво точно се е променило в самия заявка?
Споменахте, че сте използвали Redis за работа с Kafka — можете ли да обясните защо?
Какво сортиране се използва в решението?
Пренаписан ли е индексът или заявката — какво точно се е променило в заявката?
Спомена, че имаше проблеми с индексите — можеш ли да разкажеш конкретно?
Как бяха настроени метриките? Службата изпращаше метриките или ги събираше?
LRU съхранява данни на ниво приложение — в какъв смисъл поведението на кеша става непредсказуемо при мащабиране?
Използвали ли сте Testify?
Има библиотека в Go — LRU, където може да се подаде Any и да се зададе TTL. Защо беше избран Redis, а не тя?
Каква е сложността на алгоритъма и къде е дървото тук?
Трейсингът вече беше направен — какво точно направи?
Какво се случи, когато върнаха индекса, пренаписаха заявката и след това отново приложиха същия индекс?
Услугата четеше данни от Kafka, ги обогатяваше с данни от Redis — и какво правеше после?
Как бяха настроени вашите метрики? Къде изобщо деплойвате?
А централното логване — какво беше направено?