The next step was the deployment of a media service. Streaming component was implemented on top of the Mediagram media-service very quickly. Next, we turned to for broadcasts recording. In order to show the video to all users, including those with low mobile Internet bandwidth, we have deployed an asynchronous encoding service based on a prioritized queue. The encoding request has been prioritized depending on the system load and the requested encoding quality (profile). Thus, we dramatically reduce the gap between video entering the platform and its appearance in the user feed.
Our solution includes many independent services, the performance of which must be monitored. For the log storage, we used NoSQL DB from Yandex called ClickHouse, for which we developed our own front-end that allows you to view all the logs in one place, as well as perform quick searches with filtering by the desired service, date, context, etc.
In parallel with the deployment of the video platform, there was ongoing development of API, as well as services specific to this project, which included a unified authentication service implemented on the basis of Jason Web Token, a service for sending push notifications to mobile devices, a user's feed managing system, and an interface for managing and content moderation, integration with the payment gateway, and many others.