Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 31: | Строка 31: | ||
Таким образом, стандартный сервис имеет наиболее широкий функционал, обеспечиваемый платформой. Два других варианта позволяют реализовывать более "легковесные" сервисы, например, для работы с большим объемом запросов, для которых нет необходимости накопления в случае неработоспособности сервиса (например это может быть поток websocket-запрсоов в реальном времени от сторонней системы). | Таким образом, стандартный сервис имеет наиболее широкий функционал, обеспечиваемый платформой. Два других варианта позволяют реализовывать более "легковесные" сервисы, например, для работы с большим объемом запросов, для которых нет необходимости накопления в случае неработоспособности сервиса (например это может быть поток websocket-запрсоов в реальном времени от сторонней системы). | ||
= Структура сервиса = | |||
Версия от 10:54, 10 марта 2025
Предыдущая статья курса: Задание 9. Пользовательские действия в карточке
Общая информация
Сервисы - это программные модули, предназначенные для выполнения операций над объектами в автоматическом режиме (без участия пользователей). Сервисы могут выполняться на сервере либо в пользовательских приложениях.
Общие практики применения сервисов:
- Обработка событий объектов (добавление, изменение, удаление)
- Реализация сложной backend-логики, инициируемой с frontend'а
- Обработка интеграционных запросов из внешних систем
- Отправка интеграционных запросов во внешние системы
Практика использования сервисов не ограничена подобными кейсами. Фактически сервис может содержать произвольный код и реализовывать любые технические и бизнес-задачи.
Сервисы могут иметь один из двух контекстов исполнения (ServiceKind):
- server - Сервис исполняется на сервере (ролью платформы MSVC)
- client - Сервис исполняется в приложениях (браузером)
Сервисы, исполняемые на сервере, фактически являются NodeJS-микросервисами, за работоспособность которых отвечает роль MSVC. Такие сервисы могут реализовывать любую backend-логику, работать с любыми данными из хранилищаю
Сервисы, исполняемые на клиенте, работают в браузере пользователя и могут, например, при запросе открывать пользователю определенную карточку с данными (пример - базовый микросервис callcenter.ShowCardService, который открывает карточку звонка при поступлении входящего вызова из очереди).
Так же, сервисы могут отличаться по типу (ServiceType):
- default - Стандартный сервис (с таймером и вызовами invocations)
- timer - Сервис с таймером (без вызовов invocations)
- light - Легкий сервис (без таймера и вызовов invocations)
Платформа Эра предоставляет единый механизм вызова сервисов, который называется Invocations. Детально этот механизм будет рассмотрен далее в этой статье, однако в общих словах - этот механизм позволяет централизованно вызывать сервисы, и накапливать обращения к ним в случае, если сервис недоступен (например, он перезапускается, или переносится на другую ноду).
Таким образом, стандартный сервис имеет наиболее широкий функционал, обеспечиваемый платформой. Два других варианта позволяют реализовывать более "легковесные" сервисы, например, для работы с большим объемом запросов, для которых нет необходимости накопления в случае неработоспособности сервиса (например это может быть поток websocket-запрсоов в реальном времени от сторонней системы).
Структура сервиса
Создание сервисов
Работа в файловой системе
Работа в редакторе
Вызов сервисов
Следующая статья курса: Отладка и логирование
Предыдущая статья курса: Задание 9. Пользовательские действия в карточке