Публичное собеседование техлида на Podlodka Techlead Crew и дополнительные материалы.
— Видео собеседования на YouTube: https://youtu.be/xcR56HPM51w.
— Репозиторий с примерами архитектур распределённых систем: System Design Primer (в частности, для интервью за основу была взята задача Web Crawler).
— 8 заблуждений о распределённых вычислениях:
1. Сеть надёжна;
2. Сетевая задержка равна нулю;
3. Пропускная способность не ограничена;
4. Сеть защищена;
5. Топология сети не меняется;
6. Есть один администратор;
7. Транспортные расходы равны нулю;
8. Сеть (и вычислительные узлы) однородна.
— Архитектурные шаблоны в распределённых системах:
* Большой источник материалов по микросервисной архитектуре — https://microservices.io/,
* Сборник Patterns of Distributed Systems (Unmeshi Joshi и Martin Fowler).
— По теме Non-Functional Requirements (NFR):
* статья «10 nonfunctional requirements to consider in your enterprise architecture» (RedHat) ,
* гайд по сбору нефунциональных требований (Microsoft).
— По теме SLA/SLO:
* видео доклада Даниила Марданова «Как внедрить SLO в продукт и получить от этого пользу» на DevOops 2023,
* видео моего доклада «SLA — друг или враг разработчика» на DevOops 2021.
— Полезные ссылки по использованию PostgreSQL:
* документация по High Availability, в частности сравнение подходов по репликации,
* сравнение способов балансировки запросов в PostgreSQL.
— Полезные ссылки про Redis:
* сравнение Redis Cluster и Sentinel,
* пример использования Redis в качестве очереди.
— Использование GeoDNS для минимизации сетевых задержек в крупной геораспределённой системе (особенно актуально в задаче Web Crawler, где необходимо совершать обход множества сайтов, имеющих непредсказуемое географическое распределение):
* документация на GeoIP и GeoLite 2,
* пример определения локации по IP на Java.
— Комментарий про латентность сети. Скорость света в вакууме в полтора раза выше скорости света в оптическом волокне (~300 000 км / с против ~200 000 км / с). В реальности RTT (Round-Trip Time) выходит значительно выше, т.к. нужно учитывать кривизну проложенных оптических магистралей, задержку передающего и маршрутизирующего оборудования:
* RTT Екатеринбург – Москва — 20-30 мс (теоретический минимум исходя из расстояния «по прямой» в 1 400 км в одну сторону — 14 мс),
* RTT Екатеринбург – Лондон (3900 км в одну сторону) составляет 70-75 мс,
* RTT Екатеринбург – Сан-Франциско (~ 11 000 км) — 180-200 мс.
— Bloom Filter — вероятностная структура данных, которая упрощает поиск данных в крупных системах (позволяет быстро отсекать походы на диск и/или в сеть туда, где этих данных точно нет, т.е. исключает false negative сценарии, но допускает false positive). Примеры использования: Apache Cassandra и PostgreSQL.
#видеозаписи #материалы #собеседование #архитектура #slo #highload #distributed_systems #techlead #podlodka
Post #69
2.72K
- 🔥 21
- ❤ 5
- 👍 3