Это шаблон для решения второй части проектной работы. Структура этого файла повторяет структуру заданий. Заполняйте его по мере работы над решением.
Все задания в этой части проектной работы — дополнительные. Их можно сделать по желанию. Чтобы ревьюер быстрее проверил ваше решение, укажите, какие задания вы сделали. Для этого оставьте нужный эмодзи около заголовка задания:
✅ — вы выполнили это задание.
❌ — вы пропустили задание.
Укажите, какой тип API вы будете использовать для взаимодействия микросервисов. Объясните своё решение.
Здесь приложите ссылки на документацию API для микросервисов, которые вы спроектировали в первой части проектной работы. Для документирования используйте Swagger/OpenAPI или AsyncAPI.
Опишите, какой язык вы выбрали для реализации микросервисов и почему.
Укажите здесь ссылки на проекты, которые вы создали для микросервисов:
- Микросервис «Управление телеметрией» [🔗 ссылка]
- Микросервис «Управление устройствами» [🔗 ссылка]
Укажите, какой способ взаимодействия микросервисов с монолитом вы выбрали. Поясните, почему остановились именно на нём.
Опишите полную инструкцию для развёртывания с нуля вашего решения, а так же тестовые запросы — Swagger.
В ходе работы над заданием вы можете по желанию выполнить ряд условий. Оставьте рядом с описанием условий смайлик, который соответствует статусу решения, и своё пояснение:
- ✅ ❌ Реализован паттерн Saga для управления распределенными транзакциями между микросервисами.
- ✅ ❌ Разделены операции чтения и записи данных в микросервисах с помощью паттерна CQRS.
- ✅ ❌ Применены дополнительные принципы 12-факторных приложений.
- ✅ ❌ Использован Kafka кластер для обеспечения отказоустойчивости и масштабируемости.
- ✅ ❌ Развёрнут и настроен кластер Kafka. Этот пункт задания выполнять необязательно. Это зависит от того, как вы реализовали своё решение. Оставьте рядом с пунктом тот смайлик, который отражает ваш выбор. Если используете кластер Kafka, добавьте сюда ссылку.
- Развёрнут и настроен API Gateway Поясните, какие технологии для API Gateway вы используете. Оставьте ссылку.
- Тестирование Поясните, какие команды нужно использовать для тестирования.
- Созданы Helm-чарты
- Docker-образы собраны и загружены в хранилище артефактов Добавьте сюда ссылку на GitHub Container Registry.
- Запуск сервисов Напишите, какие команды нужно использовать для запуска сервисов с нуля.
- Тестирование работы сервисов Напишите, какие команды нужно использовать для тестирования.
-
Созданы CI/CD-пайплайны для каждого микросервиса
- Опишите шаги пайплайна GitHub Actions в ci.yaml и добавьте сюда ссылку на этот файл.
- Опишите шаги, которые нужно пройти для сборки, тестирования, загрузки образов в хранилище артефактов и обновления Helm релиза в Minikube.
-
Настроены триггеры для запуска пайплайнов
Пайплайны настроены на запуск при каждом пуше кода в репозиторий.
-
Проверена работа пайплайнов
Пайплайн автоматически запускается и успешно выполняет все этапы: сборка, тестирование, развертывание. Добавьте сюда ссылку, по которой можно посмотреть выполнение пайплайнов.