Pull to refresh
9
0

Разработчик

Send message

Паттерн написания универсальной системы ошибок приложения

Level of difficultyEasy
Reading time5 min
Views6.7K

За свою карьеру написал больше 100 микросервисов и около 30 брал на сопровождение, рефакторинг и доработку. Среди них были сервисы аутентификации, криптографии, адаптеры, прокси, эмитенты токенов, DataStore/DataMart, калькулирующие измерения к срезам статистики на холодных данных и на потоке, оркестраторы с широким спектром смежных систем (пример на хабре) etc. Писал на таких языках, как С#, Java, Kotlin, Scala, Node.js. И некоторое время проходил "день сурка" в момент проектирования или рефакторинга полученного в наследство кода, когда руки доходят до аспекта логирования, мониторинга, обработки ошибок etc. В этой статье опишу с какими реализациями слоя обработки ошибок я сталкивался или находил в качестве best practice, как обычно ее интегрируют в SLA, метрики и логи, почему стал изобретать велосипед и к чему пришел, а также сравню собирательный образ классических подходов с выбраным в по итогу проб и ошибок.

Читать далее
Total votes 11: ↑6 and ↓5+2
Comments19

1000 и 1 способ сесть на мель в Spring WebFlux при написании высоконагруженного сервиса

Reading time8 min
Views13K

Источник изображения: Shutterstock.com/photowind

Добрый день, меня зовут Тараканов Анатолий, я senior java разработчик SberDevices. 2.5 года программирую на Java, до этого 6 лет писал на C# и 1 год на Scala. Хочу поделиться опытом создания сервиса-оркестратора Voice Processing Service. Он является точкой входа для пользователей семейства виртуальных ассистентов Салют. Через него также проходит часть трафика приложений SmartMarket, где любой разработчик может написать навык для наших виртуальных ассистентов Салют.

Одним словом, на сервис приходится немалая нагрузка. Давайте посмотрим, какие проблемы при его создании возникли и как мы их решали, а также сколько времени ушло на поиск причин. И всё это в контексте реактивного фреймворка Spring WebFlux.

Немного о сервисе


Начнем с обзора архитектуры нашего сервиса-оркестратора. Он управляет процессом обработки входящего трафика от пользователей, формированием и передачей ответа. Среди смежных систем, к которым он обращается, есть такие сервисы:

  • идентификации по токену, а также голосовым и видеоданным;
  • насыщения запроса дополнительными данными о пользователе и истории взаимодействия;
  • преобразования речевого сигнала в текстовое представление;
  • обработки естественного языка;
  • преобразования текста в голосовое представление;
  • запуска пилотных фич;
  • распознавания музыки и другие.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments12

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity