forked from Alexey/DAS_2024_1
lab 3 done
This commit is contained in:
parent
f2093f376c
commit
281d30a89e
27
tsukanova_irina_lab_3/README.md
Normal file
27
tsukanova_irina_lab_3/README.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Цуканова Ирина ПИбд-32
|
||||||
|
# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
|
||||||
|
|
||||||
|
### Язык разработки приложений: Python
|
||||||
|
|
||||||
|
## Выбранные сущности:
|
||||||
|
|
||||||
|
- Автор. Содержит Uuid, Name, Surname
|
||||||
|
- Книга. Содержит Uuid, Title, Year, Author_id
|
||||||
|
|
||||||
|
|
||||||
|
## Описание:
|
||||||
|
Для каждой сущности были реализованы стандартные CRUD-операции: получение всех записей, получение конкретной записи,
|
||||||
|
создание записи, изменение записи, удаление записи.
|
||||||
|
|
||||||
|
Дополнительно для сущности Автор прописаны:
|
||||||
|
1. Получение автора со списком его книг(с полной информацией). При этом сервис взаимодействует с другим сервисом,
|
||||||
|
чтобы получить список книг по идентификатору автора.
|
||||||
|
2. Операция проверка наличия автора по идентификатору. Это нужно для сервиса книг.
|
||||||
|
|
||||||
|
Дополнительно для сущности Книга прописаны:
|
||||||
|
1. Получение списка записей с полной информацией об авторе (не только идентификатор).
|
||||||
|
2. Получение списка записей по идентификатору автора. Это нужно для сервиса авторов.
|
||||||
|
3. Получение конкретной записи с полной информацией об авторе.
|
||||||
|
|
||||||
|
|
||||||
|
## [Видео](https://drive.google.com/file/d/10qXA-jS9QIX5DnYjSAHlEhLx0OyKEk0W/view?usp=sharing)
|
@ -5,7 +5,7 @@ FROM python:3.12-slim
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Копирую файл requirements.txt в контейнер
|
# Копирую файл requirements.txt в контейнер
|
||||||
COPY author_service/requirements.txt .
|
COPY requirements.txt .
|
||||||
|
|
||||||
# Устанавливаю зависимости
|
# Устанавливаю зависимости
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
@ -37,7 +37,7 @@ authors: list[Author] = [
|
|||||||
Author(name='Tess', surname='Root', uuid_='eb815350-c7b9-4446-8434-4c0640c21995')
|
Author(name='Tess', surname='Root', uuid_='eb815350-c7b9-4446-8434-4c0640c21995')
|
||||||
]
|
]
|
||||||
|
|
||||||
books_url = 'http://localhost:5001/'
|
books_url = 'http://book_service:20002/'
|
||||||
|
|
||||||
|
|
||||||
def list_jsonify():
|
def list_jsonify():
|
||||||
|
Binary file not shown.
@ -5,7 +5,7 @@ FROM python:3.12-slim
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Копирую файл requirements.txt в контейнер
|
# Копирую файл requirements.txt в контейнер
|
||||||
COPY book_service/requirements.txt .
|
COPY requirements.txt .
|
||||||
|
|
||||||
# Устанавливаю зависимости
|
# Устанавливаю зависимости
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
@ -56,7 +56,7 @@ books: list[Book] = [
|
|||||||
author_id='eb815350-c7b9-4446-8434-4c0640c21995'),
|
author_id='eb815350-c7b9-4446-8434-4c0640c21995'),
|
||||||
]
|
]
|
||||||
|
|
||||||
authors_url = 'http://localhost:5000/'
|
authors_url = 'http://author_service:20001/'
|
||||||
|
|
||||||
|
|
||||||
def list_jsonify():
|
def list_jsonify():
|
||||||
|
Binary file not shown.
@ -21,7 +21,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
volumes:
|
volumes:
|
||||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||||
depends_on:
|
depends_on:
|
||||||
- author_service
|
- author_service
|
||||||
- book_service
|
- book_service
|
@ -1,4 +0,0 @@
|
|||||||
FROM ubuntu:latest
|
|
||||||
LABEL authors="Main"
|
|
||||||
|
|
||||||
ENTRYPOINT ["top", "-b"]
|
|
Loading…
Reference in New Issue
Block a user