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).

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".