Создание двух сервисов и их подключение

Итак, мне дали проект, в котором моей конечной целью будет создание двух сервисов, сервиса A и сервиса B, и использования системы обмена сообщениями для соединения их с единым бизнес-процессом.

У службы А две задачи:

  • Принять HTTP-запрос, содержащий информацию о деньгах
  • Создавать сообщения AMQP для «Службы B»

Сервис B выполняет две задачи:

  • Сервис принимает сообщения AMQP, созданные Сервисом A
  • Сервис должен иметь объект учетной записи, хранящийся в базе данных, описываемый двумя свойствами, balance и updatedAt.

Я понимаю базовую концепцию создания этого проекта и выполнения этих задач для обеих служб, но не понимаю, как я должен создавать эти службы. Должны ли они быть отдельным проектом или я могу создать их в одном проекте Laravel? Есть ли в Laravel функциональность для создания сервисов? Я много чего читал в течение нескольких дней, но пока не могу найти решение. Если вы можете предоставить какую-либо информацию или инструкции, я буду благодарен. Если вам нужна дополнительная информация о проекте, дайте мне знать.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
117
1

Ответы 1

Я думаю, вы думаете об использовании архитектуры микросервисов, и в этом случае это должны быть два разных проекта, в которых проекты не используют общий код или данные и общаются только через сообщения или API.

Архитектура микросервисов - это то, что очень сложно понять, когда мы всегда привыкли работать с монолитной архитектурой. Несколько указателей,

  1. Измените наш образ мышления, связанный с базой данных и объединением данных в таблицах для отображения данных
  2. Не создавайте отдельные службы только ради этого.
  3. Каждая служба должна быть независимой и должна взаимодействовать с другими службами, предоставляя API-интерфейсы или отправляя / извлекая данные из некоторой шины сообщений.
  4. Микросервисы должны быть независимо масштабируемыми (горизонтальное масштабирование)
  5. Думайте о микросервисах как о чем-то, что решает конкретную бизнес-проблему

Другие вопросы по теме