SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
- Почему мы выбрали .NET Core качестве основной платформы для нашего продукта
- команда мечты от разработчиков Java, которая начала писать на .NET Core;
- мониторинг системы, поиск запросов и другие диагностические задачи.
- Почему мы выбрали .NET Core качестве основной платформы для нашего продукта
- команда мечты от разработчиков Java, которая начала писать на .NET Core;
- мониторинг системы, поиск запросов и другие диагностические задачи.
1.
Разработка high load системы
на .NET Core:
что нам пришлось пережить
Андрей Губский
2.
О себе
В коммерческой разработке с
2008 года;
Microsoft MVP с 2017 года;
Занимаюсь ИТ консалтингом,
разработкой и
проектированием
информационных систем и
решений;
PhD;
Автор проекта //devdigest
4.
Чем я занимаюсь сейчас?
vi stories – система контекстной рекомендации
видео.
Сверхзадача:
• подбор видео наиболее точно
соответствующего контенту страницы
Требования к системе:
• минимальное время для анализа страницы,
• минимальное время для подбора видео.
12.
Проблема №2
Консистентность информации внутри системы,
и почему иммутабельность – это хорошо
13.
Иммутабельность – это хорошо
• Нет неожиданных побочных эффектов по ходу выполнения кода –
никто не изменит то, что не должно быть изменено. Не нужно
держать в голове куски системы, в которых объект мог быть
изменен;
• Иммутабельные коллекции потокобезопасны;
• Концепция иммутабельности является одной из концепций ФП и
позволяет более четко описывать логику процессов и проще
тестировать код.
16.
Service 1 Service 2 Service 3
Probe 1A
Probe 2C Probe 3AProbe 1B
Probe 2B
Probe 2A
Spectator
Высоконагруженная система
построенная на базе
микросервисной архитектуры
Уведомление об изменении
состояния системы
Запрос Spectator к датчику
о состоянии отслеживаемой
метрики системы
Проверка датчиком
метрики системы
Как работает
X.Spectator
Probe – отвечает за проверку состояния
одного из показателей системы;
Spectator– опрашивает один, или
несколькими датчиками. Изменяет свое
состояние в зависимости от текущих
показаний датчиков;
State calculator – на основе журнала
метрик вычисляет текущее состояние.
State journal – набор показателей каждого
из датчиков с указанием времени опроса.
17.
X.Spectator
GitHub: https://github.com/ernado-x/X.Spectator
Хабр: https://habr.com/en/post/459092
Проект с открытым исходным кодом.