План на курса
Въведение
- Архитектура на системите и услугите, PaaS и облачен дизайн
Обобщение на монолитната архитектура
- Изпълнение на цялостната функционалност на монолитно приложение в един процес
- Масштабиране чрез репликация на множество сървъри
- Протоколи, използвани в монолитните системи: EAI, CORBA и др.
Обобщение на Уеб услуги
- Архитектура с ориентация към услуги (SOA) и микросервисна архитектура
Архитектура с ориентация към услуги (SOA)
- Приятелства и разходи при SOA
- Успехи и неуспехи при имплементирането на SOA
- Съобщаване и ESB
- Инфраструктура и инструменти, подкрепящи SOA
Как микросервисите реализират концепциите за Уеб услуги
- Делайте едно нещо и го правете добре
- DevOps
- Непрекъснато разглеждане и доставяне (непрекъснато интегриране, непрекъснат процес на създаване, и др.)
- Лихвени протоколи
Протоколи и стандарти за микросервисите
- HTTP, JMS, AMQP, Websockets, JSON и др.
Рамки за разработка на микросервиси
- Java-базирани рамки (Spring Cloud)
- Javascript-базирани рамки (Seneca)
Декомпозиция на монолитно приложение
- Разработка на независимо разглеждаеми приложения
- Организиране на микросервисни приложения около бизнес функционалности
- Кейс студи: Мигриране на монолитно приложение към три основни микросервиса
Подготовка на околната среда за разработка с Spring Cloud
- Подготовка на Docker и Docker Compose
- Настояване на системни променливи
Обобщение на Spring Cloud и Spring Boot
- Spring Cloud подпроекти: Config Server & Bus, Eureka, Ribbon, Feign и Hystrix
- Spring Boot
Създаване на приложение с Spring Boot
Централизирано, версионирано управление на конфигурацията с Spring Cloud Config
Динамични актуализации на конфигурацията с Spring Cloud Bus
Управление на услуги с Eureka
Балансиране на натоварването с Ribbon
Прилагане на защити с Hystrix
Декларативни REST клиенти с Feign
Работа с API шлюз
Закрисяване на микросервисно приложение
Тръсване на микросервиси за откриване на забавки
Разглеждане на микросервиси
- Контейнри (Docker, K8N, LXC и др.)
- Управление на конфигурацията (Ansible и др.)
- Управление на услуги
- Мониторинг и управление на микросервиси
- Инфраструктура за микросервиси
Облак и автоматично масштабиране на микросервиси
- Резервни копия и фейловър на микросервиси
- Масштабиране на производителност за микросервиси
- Автоматично масштабиране
- Имплементация на микросервиси в OpenStack, AWS и други облачни платформи
Опростяване на общи проблеми за дистрибуирани приложения
- Сложността на екосистемата
- Мрежово натоварване
- Закрисаване
- Разглеждане
- Тестване
- Наносервиси
Финални разположения за създаване на продуктни системи
- Опростяване на системата за начинаещи
- Пълнота на системата, така че да може да служи като основа за корпоративни приложения
Самоподход и заключение
Изисквания
- Разбиране на софтуерно и системно инженерство
- Опит в разработка на Java приложения
- Опит с Spring Framework
Публика
- Java разработчици, които искат бързо да изградят и подготвят микросервиси
- Системни архитекти, които искат да имплементират микросервисна архитектура
Отзиви от потребители (3)
Подготвен проект, върху който да работим от самото начало, без да губим време за настройване на файлове, които не са необходими за упражненията. Готовност да отговаряме на всички въпроси, възникнали от участниците.
Robert Walczak - Hitachi Energy
Курс - Systems Modeling with SysML and Enterprise Architect (EA)
Машинен превод
Практикувайте упражнения в EA.
Pawel - Krajowa Szkola Skarbowosci
Курс - UML in Enterprise Architect (workshops)
Машинен превод
Практиките
Ivan - si
Курс - Spring Cloud for Microservices
Машинен превод