Отчет о посещении Highload++ 2019
https://www.highload.ru/moscow/2019
Я вел часть текстовой трансляции в телеграмме (от имени HighLoad).
Раздали крутую книжку про Event Sourcing . ITSumm Press.
7 Ноября
- Егор Рогов (Postgres Professional) “Locks in postgresql”
Разные полезные знания про блокировки в Postgresql. Самое интересное, что чисто теоретически, можно получить взаимную блокировку, если идет большой поток входящих Update, при котором происходит переключение на другой тип индекса (на более быстрый).
- Петр Зайцев (Percona) bpfTrace как полноценная замена DTrace в Linux
История + возможности bpf
- Андрей Бородин (Яндекс) “Odyssey roadmap: что ещё мы хотим от пулера соединений”
Рассказал про новый пулер соединений к postgresql
8 Ноября
- Элина Лобанова (Facebook) “Взгляд изнутри на надежность сервисов Facebook” 11:00
Веселые истории про разные поломки в Facebook
- Артемий Колесников (Facebook) Cluster and Resource Management at Facebook 12:00
Рассказал про TW - некий аналог кубернетеса внутри Facebook
- Версионирование дата-сетов и моделей машинного обучения, используя Open Source-инструменты / Дмитрий Петров (Iterative.ai)
Рассказал про DVC https://dvc.org
- Анатолий Дымарский (сколтех) “Что может квантовый компьютер”
Очень интересный, и совсем не технический доклад про квантовые компьютеры.
Посмотреть «кое что о вероятностных структурах данных» 14:00 Дели
Посмотреть “жизнь без блокировок» 16:00 Дели
Посмотреть “Кафка Описание одной борьбы” 11:00 Конгресс Холл
Посмотреть “Паттерны проектирования приложений на Apache Kafka” 12:00 Конгресс Холл
Расписания менеджера
https://habr.com/ru/post/475640/
- Дихотомия “менеджеры - создатели” (manager-maker)
- Первые хотят общаться и доносить информацию, вторые хотят делать
- Войти в поток очень дорого, перевойти практически нереально
- Slack, мгновенные сообщения, расписания митингов - мир менеджеров
- Решения:
- Офисные часы (митинги только в определенное время - по пятницам?)
- Асинхронное, контент - ориентированное общение
- Async status report
- База знаний
Testing in Production: the hard parts
https://medium.com/@copyconstruct/testing-in-production-the-hard-parts-3f06cefaf592
- It’s a continuation of the “Testing in Production: The safe way”
- The main idea: how to reduce the “Blast Radius”
- In Jul 2019 Cloudflare had a 30min global outage: incorrect WAF (Web Application Firewall) rule. CPU usage was not checked.
- Goal of testing in production is to detect problems that cannot be surfaced in pre-production & protect the production
- Continually test the restoration of a service.
- Good quote from Sarah Jamie Lewis:
The whole point of [actual] distributed systems engineering is you assume you’re going to fail at some point in time and you design the system in such a way that the damage, at each point is minimized, that recovery is quick, and that the risk is acceptably balanced with cost
- Werner Vogels wrote a post “10 Lessons from 10 Years of Amazon Web Services”
- failure = natural occurrence (even unknown). System need to keep running
- AWS in Postmortem Template has a question “how could you cut the blast radius for a similar event in half?”
- The most important approaches is to separate the deploy and the release.
- Fail fast (+restore to previous version) instead of hiding problems
- Multi-tiered isolation.
- Bad requests/services isolation
- Backpressure
- Circuit Breaker
- Distributed Mutable State is VERY BAD IDEA. Good link to the Netflix blog post
- Link to the Maelstrom paper (Facbook) https://www.usenix.org/system/files/osdi18-veeraraghavan.pdf