План на курса
- Какво е разпределена система?
- Често срещани проблеми: забавяне, съответствие, достъпност
- Общ преглед на компонентите на системата и моделите за комуникация
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)
Машинен превод
-Знанията на учителя по темата бяха действительно добри. Той успя да обясни твърде добре и да отговори на всички въпроси в момента. -Би било много полезно да се научи какви възможности има всяка една уредба. -Структурата, която той показа, например използването на сценарии и следимост, ще бъде много полезна в моята ежедневна работа.
Harsha Jain - Scania CV AB
Курс - Introduction to Enterprise Architect
Машинен превод
Отлична знание.
Marie - Forsvarets forkningsinstitutt
Курс - Systems Modeling with SysML and Enterprise Architect (EA)
Машинен превод
The theory felt quite complete, we handled all important subjects. It was very nice we could zoom in on our use-case Achievements, which helped us with understanding the theory.
Henk Huybrechts
Курс - Systems and Service Architecture - Microservices Architecture
Машинен превод