Этот репозиторий содержит коллекцию микросервисов для агрегатора фентезийных алхимических лавок. Цель репозитория - предоставить учебник для понимания паттернов отказоустойчивости и изучения примеров кода, связанных с микросервисной архитектурой.
Цель этого репозитория - служить обучающим ресурсом для разработчиков, заинтересованных в понимании паттернов отказоустойчивости в микросервисной архитектуре. Изучая код и примеры, представленные в этом репозитории, пользователи смогут лучше понять, как проектировать и реализовывать отказоустойчивую микросервисную систему.
Важно отметить, что информация, представленная в этом репозитории, является вымышленной и не соответствуют каким-либо реальным компаниям. Код и примеры предназначены исключительно для образовательных целей.
Репозиторий структурирован таким образом, чтобы выделить различные паттерны отказоустойчивости, обычно используемые в микросервисной архитектуре. Каждый микросервис фокусируется на определенном аспекте системы агрегатора алхимических лавок.
Названия сервисов будут пересматриваться! Произошли изменения в целях проекта, также поменялась идея!
Ниже перечислены ключевые компоненты, включенные в этот репозиторий:
-
Florist:сервис, отвечающий за агрегацию различных алхимических лавок и их товаров, включая цены, наличие и местоположение. -
Gatekeeper: сервис используется для безопасного управления и контроля доступа к ресурсам и конфиденциальной информации в организации. Используется в сочетании с Zitadel.
-
DeliveryControlCenter: сервис управляет логистикой доставки алхимических товаров из разных лавок по указанным адресам.
-
FeedbackForge: сервис обрабатывает оценки и отзывы клиентов об алхимических лавках, службе доставки и общем опыте работы с ними.
-
EventHub: сервис обеспечивает управление системой событий, а также хранит историю изменений.
-
PaymentDefender: сервис управляет обработкой платежей, обеспечивая безопасность транзакций и соответствие различным методам оплаты.
-
Notifier: сервис отправляет клиентам уведомления о статусе заказа, обновлениях доставки и специальных акциях.
-
Gateway: сервис выступает в качестве точки входа для клиентских запросов, направляя их в соответствующие микросервисы.
-
Arch: сервис для предоставления архитектурных схем проекта. Поддерживает актуальность схем как для конкретного сервиса, так и для всей системы в целом.
Кроме того, репозиторий содержит документацию, примеры кода и конфигурации, демонстрирующие такие модели отказоустойчивости, как Сircuit breaker, Retry и пр.
Чтобы изучить репозиторий и ознакомиться с примерами кода, выполните следующие действия:
- Клонируйте репозиторий на локальную машину.
- Перейдите в каталог каждого микросервиса и просмотрите соответствующий код, конфигурации и документацию.
- Экспериментируйте с различными паттернами отказоустойчивости, реализованными в микросервисах. Модифицируйте код и наблюдайте за его поведением, чтобы получить практический опыт.
Обратите внимание, что этот репозиторий предназначен только для образовательных целей и не должен быть развернут в производственной среде.
Вклад в этот репозиторий приветствуется. Если у вас есть предложения, улучшения или дополнительные модели отказоустойчивости, которые можно добавить к примерам, не стесняйтесь открыть Pull request или создать Issue.
Однако, поскольку цель этого репозитория - исключительно образовательная, важно проводить четкое различие между вымышленными и реальными сервисами. Пожалуйста, убедитесь, что любой вклад соответствует цели предоставления обучающих ресурсов, а не создания реальных решений.
Все репозитории проекта лицензированы в соответствии с лицензией MIT. Дополнительную информацию см. в файлах LICENSE.