- Почему мы выбрали .NET Core качестве основной платформы для нашего продукта
- команда мечты от разработчиков Java, которая начала писать на .NET Core;
- мониторинг системы, поиск запросов и другие диагностические задачи.
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Разработка high load системы на .NET Core
1. Разработка high load системы
на .NET Core:
что нам пришлось пережить
Андрей Губский
2. О себе
В коммерческой разработке с
2008 года;
Microsoft MVP с 2017 года;
Занимаюсь ИТ консалтингом,
разработкой и
проектированием
информационных систем и
решений;
PhD;
Автор проекта //devdigest
4. Чем я занимаюсь сейчас?
vi stories – система контекстной рекомендации
видео.
Сверхзадача:
• подбор видео наиболее точно
соответствующего контенту страницы
Требования к системе:
• минимальное время для анализа страницы,
• минимальное время для подбора видео.
14. Иммутабельность – это хорошо
• Нет неожиданных побочных эффектов по ходу выполнения кода –
никто не изменит то, что не должно быть изменено. Не нужно
держать в голове куски системы, в которых объект мог быть
изменен;
• Иммутабельные коллекции потокобезопасны;
• Концепция иммутабельности является одной из концепций ФП и
позволяет более четко описывать логику процессов и проще
тестировать код.
17. 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 – набор показателей каждого
из датчиков с указанием времени опроса.