2023-11-18 14:42:50 +04:00
|
|
|
|
# Лабораторная работа №3 - RESTAPI, Gateway и синхронный обмен между микросервисами
|
2023-11-18 14:41:58 +04:00
|
|
|
|
|
|
|
|
|
1) Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
|
|
|
|
|
2) Реализовать механизм синхронного обмена сообщениями между микросервисами.
|
|
|
|
|
3) Реализовать шлюз на основе прозрачного прокси-сервера nginx.
|
|
|
|
|
|
|
|
|
|
# Сущности:
|
|
|
|
|
- VKImages:
|
|
|
|
|
1) ID: Id автогенерируемый в программе.
|
|
|
|
|
2) Url: ссылка на фото пользователя.
|
|
|
|
|
3) Text: текст фото, не содержащийся на фото, а приложенный текст к фото в ВКонтакте.
|
|
|
|
|
- VKUsers:
|
|
|
|
|
1) ID: Id автогенерируемый в программе.
|
|
|
|
|
2) Url: ссылка на пользователя.
|
|
|
|
|
3) PhotoUrl: ссылка на фото пользователя.
|
|
|
|
|
# Как запустить
|
|
|
|
|
Командой "docker-compose up -d" в папке VKUsers/src/main/java/com/example/vkUsers
|
|
|
|
|
|
|
|
|
|
# Работа программы
|
|
|
|
|
Так как скриншоты этой программы можно делать очень долго, то основная работа программы будет видна в видео,
|
|
|
|
|
в данном фотоотчете будут основные аспекты программы.
|
|
|
|
|
|
|
|
|
|
Начнем с VKImages. Модель следующая:
|
|
|
|
|
|
|
|
|
|
![img.png](images%2Fimg.png)
|
|
|
|
|
|
|
|
|
|
Контроллер с url для оснонвых методов swagger (PUT, GET, POST, DELETE):
|
|
|
|
|
|
|
|
|
|
![img_1.png](images%2Fimg_1.png)
|
|
|
|
|
|
|
|
|
|
DockerFile:
|
|
|
|
|
|
|
|
|
|
![img_2.png](images%2Fimg_2.png)
|
|
|
|
|
|
|
|
|
|
Теперь VKUsers. Модель:
|
|
|
|
|
|
|
|
|
|
![img_3.png](images%2Fimg_3.png)
|
|
|
|
|
|
|
|
|
|
Контроллер с url для оснонвых методов swagger (PUT, GET, POST, DELETE):
|
|
|
|
|
|
|
|
|
|
![img_4.png](images%2Fimg_4.png)
|
|
|
|
|
|
|
|
|
|
DockerFile:
|
|
|
|
|
|
|
|
|
|
![img_5.png](images%2Fimg_5.png)
|
|
|
|
|
|
|
|
|
|
DockerCompose:
|
|
|
|
|
|
|
|
|
|
![img_6.png](images%2Fimg_6.png)
|
|
|
|
|
|
|
|
|
|
nginx-config:
|
|
|
|
|
|
|
|
|
|
![img_7.png](images%2Fimg_7.png)
|
|
|
|
|
|
|
|
|
|
Синхронный обмен в следующем методе:
|
|
|
|
|
|
|
|
|
|
![img_8.png](images%2Fimg_8.png)
|
|
|
|
|
|
|
|
|
|
Видео -> https://drive.google.com/file/d/1D-8urLmnXjgNRQJJWq9SKR35FF0sBSWL/view?usp=sharing
|