План на курса
Въведение
- Системна и сервизна архитектура, PaaS и нативен дизайн в облака
Преглед на монолитната системна архитектура
- Изпълнение на цялостна функционалност на монолитни приложения в един процес Scalaспособност чрез репликация в множество сървъри Протоколи, използвани в монолитни системи: EAI, CORBA и др.
Преглед на уеб услугите
- Архитектура, ориентирана към услуги (SOA) и Microservices Архитектура
Service-Oriented Architecture (SOA)
- Полза и цена на SOA Успехи и неуспехи при внедряването на SOA Messaging и ESB инфраструктура и инструменти, поддържащи SOA
Как Microservices внедряване на концепции за уеб услуги
- Направете едно нещо и го направете добре DevOps Непрекъснато внедряване и доставка (Непрекъснато интегриране, Непрекъснат процес на изграждане и т.н.) Леки протоколи
Протоколи и стандарти за микросервизи
- HTTP, JMS, AMQP, Websockets, JSON и др.
Рамки за развитие на строителството Microservices
- 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 шина
Откриване на услуги с Eureka
Балансиране на натоварването с лента
Прилагане на прекъсвачи с Hystrix
Декларативни REST клиенти с Feign
Работа с API Gateway
Защита на приложение за микросервизи
Проследяване на микроуслуги за разкриване на закъснения
Внедряване Microservices
- Контейнери (Docker, K8N, LXC и т.н.) Управление на конфигурацията (Ansible и т.н.) Мониторинг и управление на откриване на услуги Microservices Инфраструктура за Microservices
Облак и автоматична Scalaспособност на микроуслугите
- Излишък от микроуслуги и отказ при отказ Мащабируемост на производителността за микроуслуги Автоматична мащабируемост Внедряване на микроуслуги на OpenStack, AWS и други облачни платформи
Отстраняване на често срещани проблеми за разпределени приложения
- Сложност на екосистемата Мрежова производителност Сигурност Тестване на внедряване Нано-услуги
Последни съображения за изграждане на системи, готови за производство
- Улесняване на системата за начинаещи Усъвършенстване на системата, така че да може да служи като основа за корпоративни приложения
Обобщение и заключение
Изисквания
- Разбиране на софтуера и системното инженерство
- Опит в разработката на Java
- Опит с Spring Framework
Публика
- Java разработчици, желаещи бързо изграждане и внедряване на микроуслуги
- Системни архитекти, желаещи да внедрят архитектура на микросервизи