Skip to content

Service architecture#

Component interaction diagram#

LUNA POINT has a microservice architecture, where each component (component or system) provides access to an independent group of Service functions.

Component interaction diagram is shown below (Figure 1).

Component interaction diagram
Component interaction diagram

Service components, as well as a description of their purpose and interaction with VisionLabs products, are presented in Table 1.

Table 1. Service components and VisionLabs products

Name of the component/system Interaction description
FaceStream
FaceStream FaceStream is required to work with event sources. FaceStream has multiple functions: reading video streams; processing of video streams (searching and tracking of faces and bodies in the video stream until they leave the frame or are blocked); sending images of faces as HTTP requests to external components or systems
Stream service Stream service is required to work with video streams. Stream service has multiple functions: setting video stream parameters (stream type, stream source address, filtering parameters, etc.); creating a video stream. Parameters are set by sending requests with a body in JSON format to the Stream service service. FaceStream takes settings from Stream service for further processing
LUNA PLATFORM
License service License service contains information about available licensed features and their limitations, provides information about license conditions to LUNA PLATFORM components: license expiration date; maximum number of created faces with descriptors; information about the availability of Liveness; the ability to work with bodies, evaluate the conformity of the image to the ISO / IEC 19794-5 standard, work with the {{PRODUCT_NAME_LIM}}, the number of streams for Stream service. License service is required for the operation of the Service components and their interaction with the LUNA PLATFORM components
{{PRODUCT_NAME_API}} Provides a RESTful interface for interacting with other LUNA PLATFORM components. Receives requests, distributes tasks among other LUNA PLATFORM components
Event service database The database of the Event service component. The database is used: to store all created events; to store descriptors created for events
LUNA POINT
POINT API The component provides an interface for the interaction of LUNA POINT with all components shown in the component interaction diagram. Nginx server is required to route requests
POINT UI The graphical interface that provides information transfer between the user and LUNA POINT hardware and software components
POINT AUTH The component provides user accounts management
clementine_auth database The database of the POINT AUTH. The database is used: to store user account data; to store data for authentication; for partial authorization by storing the user role (direct authorization of requests is not performed)
VL NOTIFIER The component provides notifications management: sending notifications to the Service interface; sending email notifications; sending notifications to Telegram

For more information about the LUNA PLATFORM components, see “LUNA PLATFORM. Administrator Manual".