План на курса
- Какво е разпределена система?
- Често срещани проблеми: забавяне, съответствие, достъпност
- Общ преглед на компонентите на системата и моделите за комуникация
Scalaностни принципи
- Вертикално vs. хоризонтално масштабиране
- Балансиране на натоварването и еластичност
- Масштабиране на съхранението, изчисленията и I/O
Архитектурни шаблони
- Клиент-сервер и многослойни архитектури
- Ориентирани към услуги и микросервизни архитектури
- Архитектура, ориентирана към събития, и очереди с съобщения
Теорема на CAP и модели за съответствие
- Обяснение на теоремата за CAP
- Силен vs. накрая консистентен
- Избор между съответствие и достъпност
Стратегии за разпределяне и съхранение на данни
- Разделяне и шардиране
- Стратегии за репликация и четене/записване с кворум
- Разпределени бази данни и ключ-стойност хранилища
Communication и координация в Distributed Systems
- REST, gRPC, брокери на съобщения (например, Kafka, RabbitMQ)
- Избор на лидер и разпределено консенсус
- Използване на Zookeeper или etcd за координация
Отказоустойчивост и надеждност
- Дизайн за отказ и благоприятно деградиране
- Механизми за повтаряне, таймаути и прекъсвачи
- Мониторинг, наблюдаемост и хаос инжиниринг
Съвременно облачно и практики за имплементация
- Контейнери, оркестриране и Kubernetes
- Безсостояние и неизменност
- Наи-добрите практики за сигурността на разпределените системи
Резюме и следващи стъпки
Изисквания
- Разбиране на основни концепции за мрежови връзки и дизайн на системи
- Опит с общи практики в разработка на софтуер
- Запознанство с облачното изчисление и дизайн на API е полезно
Целева аудитория
- Архитекти на софтуер и технически ръководители
- Инженери на задния край и DevOps професионалисти
- Дизайнери на системи, изграждащи масштабируеми облачни приложения
Oтзиви от потребители (5)
Може би повече упражнения биха били по-добри за учене, но времето беше твърде малко
Gianpiero Arico' - Urmet Spa
Курс - Embedded Linux Systems Architecture
Машинен превод
Практически упражнения в EA.
Pawel - Krajowa Szkola Skarbowosci
Курс - UML in Enterprise Architect (workshops)
Машинен превод
Нови перспективи, ще ми трябват няколко дни, за да схвана цялата информация. Много ми хареса това, че трябваше да правим упражнения и бяхме разделени на малки групи. Това и нас накара да се замислим малко между презентационните сесии :)
Jantea Marius
Курс - Software Architecture in Cloud
Машинен превод
-Знанията на учителя по темата бяха действительно добри. Той успя да обясни твърде добре и да отговори на всички въпроси в момента. -Би било много полезно да се научи какви възможности има всяка една уредба. -Структурата, която той показа, например използването на сценарии и следимост, ще бъде много полезна в моята ежедневна работа.
Harsha Jain - Scania CV AB
Курс - Introduction to Enterprise Architect
Машинен превод
Отлична знание.
Marie - Forsvarets forkningsinstitutt
Курс - Systems Modeling with SysML and Enterprise Architect (EA)
Машинен превод