Skip to content

RedGry/SOA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа 3 по Сервис-ориентированной архитектуре

Переработать веб-сервисы из лабораторной работы #2 таким образом, чтобы они реализовывали основные концепции микросервисной архитектуры. Для этого внести в оба сервиса -- "вызываемый" и "вызывающий" перечисленные ниже изменения.

Изменения в "вызываемом" сервисе:

  • Сконфигурировать окружение для работы сервиса на платформе Spring Boot.
  • Запустить второй экземпляр сервиса на другом порту. Реализовать балансировку нагрузки между экземплярами с помощью Haproxy.
  • Реализовать механизм Service Discovery. Для этого установить Consul и интегрировать свой сервис с ним, автоматически регистрируя в момент запуска.

Изменения в "вызывающем" сервисе:

  • Разделить приложение на два модуля -- веб-приложение с веб-сервисом и EJB-jar с бизнес-компонентами.
  • Переместить всю логику из класса сервиса в Stateless EJB. В классе сервиса оставить только обращение к методам бизнес-интерфейса. EJB-компонент должен быть доступен удалённо (иметь Remote-интерфейс).
  • Сформировать на уровне сервера приложений пул компонентов EJB настраиваемой мощности, динамически расширяемый при увеличении нагрузки.
  • Настроить второй экземпляр сервера приложений на другом порту, "поднять" на нём вторую копию веб-сервиса и пула EJB.
  • Настроить балансировку нагрузки на оба запущенных узла через Haproxy.

Оба веб-сервиса и клиентское приложение должны сохранить полную совместимость с API, реализованными в рамках предыдущих лабораторных работ.

Вопросы к защите лабораторной работы:

  1. Микросервисная архитектура. Особенности реализации. Сходства и отличия от "обычной" СОА.
  2. Разработка сервисов в микросервисной архитектуре. Стандарты и технологии. Принципы декомпозиции приложений на микросервисы.
  3. Масштабируемость микросервисных приложений. Балансировщики нагрузки.
  4. Концепция Service Discovery. Подходы и технологические решения.
  5. Consul. Установка и конфигурация. Регистрация сервисов.
  6. Разработка микросервисов на Java EE. Реализация Service Discovery и балансировки нагрузки.
  7. Разработка микросервисов на Spring. Интеграция с балансировщиками нагрузки и провайдерами Serviсе Discovery.
  8. Spring Cloud. Особенности, отличия от "голого" Spring Boot. Spring Cloud Netflix.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published