Spring Boot Mastering + Spring Cloud Mastering RU

Дата: 27-28 октября

Место: Санкт-Петербург, 9-я линия В.О., д.34, БЦ Magnus, офис 303

Назад к тренингам
Евгений Борисов — Naya Technologies

Евгений Борисов
Naya Technologies

jekaborisov

Евгений пишет на Java с 2001 года и принял участие в большом количестве энтерпрайз-проектов. Пройдя путь от простого программиста до архитектора и устав от рутины, он ушел в свободные художники. Сегодня Женя пишет и проводит курсы, семинары и мастер-классы для различной аудитории: live-курсы по J2EE для офицеров израильской армии, Spring — по WebEx для румын, Hibernate через GoToMeeting для канадцев, Troubleshooting и Design Patterns для украинцев.

Кирилл Толкачёв — ЦИАН

Кирилл Толкачёв
ЦИАН

tolkv

До недавнего времени Кирилл выступал как главный разработчик в Альфа-Лаборатории и разрабатывал банковские API, формируя принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps знает не понаслышке и имеет четырехлетний опыт её применения.

Описание тренинга

Spring Boot Mastering (27 октября)

Сегодня написать микросервис может и ребёнок: берём Spring Boot, добавляем пару стартеров, пишем несколько контроллеров, mvn package или gradle build и вуаля, микросервис готов. Ну а дальше, как и бывает со Spring Boot, либо работает всё, либо не работает ничего, и никто не понимает, почему.

Если вы хотите реально понимать, что именно делает Spring Boot, как можно всё кастомизировать, как решать проблемы асинхронных запросов, так чтобы у Tomcat не заканчивались потоки, как правильно разбивать микросервис на модули, писать тесты, строить модель без наследования, чтобы не иметь потом проблем с десериализацией, то этот тренинг для вас.

Что вас ждёт

В процессе тренинга мы разберёмся, как оно всё работало раньше (ещё во времена web.xml), поговорим о более современном подходе, где можно обойтись без xml вовсе, и уже после этого будем писать свой микросервис с использованием Spring Boot, предварительно разобравшись, что именно он нам даёт и как он это делает.

Также мы обсудим архитектуру модулей стандартного микросервиса, разберёмся, как и зачем ему пишут sdk и что это такое, и как писать unit и интеграционные тесты для наших контроллеров.

Ключевые темы

  • Spring core + internals overview (IOC, BPP, Java Config);
  • Spring Data (main concepts, Repository interface, dynamic proxy);
  • Spring Boot (how magic happens, @Conditional, @OnBeanCondition);
  • Web & Spring MVC:
    • Servlet – do they still exist?
    • REST;
    • Controllers / RestControllers;
    • RestTemplate;
    • Tomcat (web.xml, without web.xml, without Tomcat).

Spring Cloud Mastering (28 октября)

Сегодня написать микросервис может и ребёнок – с этих слов начинался тренинг Spring Boot. Но в жизни один отдельный микросервис не приносит ценности, и хочется извлечь больше пользы из всех изученных возможностей Spring Boot и играючи интегрировать написанные Spring Boot-приложения. Команда Pivotal позаботилась и об этом, создав целый стек отдельных модулей – Spring Cloud.

С новыми возможностями приходят новые проблемы, ответственность решать которые никуда не уходит. Нужно уметь грамотно обходить их, что тоже позволяет нам Spring Cloud (конечно же не всё). Если вы хотите понимать, какие проблемы будут вас ожидать при переходе на микросервисную архитектуру, так пропагандируемую Spring Cloud, уметь бороться с ними, а также просто быть в курсе этого динамично развивающегося стека – этот тренинг для вас.

Что вас ждёт

В процессе тренинга мы разберёмся, как связан Spring 4+, Spring Boot и Spring Cloud. Поговорим немного о том, какие системы у нас в итоге получаются при использовании Spring Cloud, об их потенциально сильных сторонах и фундаментальных проблемах.

Вместе с вами выйдем за пределы одного сервиса и почувствуем все плюсы и минусы создания больших систем с использованием Spring Cloud. Вместо тысячи слов – разработаем набор приложений, столкнемся с проблемами, которые будем решать, доставая всё новые и новые инструменты, интегрированные со Spring Boot.

Ключевые темы

  • Spring Boot Starters == Spring Cloud? (концепции);
  • Компромиссы распределенных систем (теория);
  • Ещё больше магии со Spring Cloud:
    • RestTemplate и Feign Client – должен ли остаться только один?
    • Feign Client: типичные сценарии использования;
    • Надёжность всей системы и Hystrix;
    • Тестирование и запуск (нужен docker+docker-compose);
  • Управление конфигурацией:
    • Spring cloud config;
    • Обновление настроек в Runtime;
  • Spring Cloud Bus;
  • Мониторинг и поддержка:
    • Метрики и их экспорт (spring cloud stream);
    • Агрегация состояния системы (ES/Turbine/Zikpin);
  • Future with Spring 5 (обзорная часть — если остаётся время):
    • Servlet – are they still exists? (again);
    • Kotlin – второе пришествие Groovy?
    • Tomcat – кто пришел на смену?