Service (e.g. Apache) - A computer program that runs as a background process and provides a core functionality such as indexing, database or web server.
Batch job (task) - A job that runs periodically that performs a specific task.
Batch manager (scheduler / daemon) - A service that is responsible for coordinating, starting and stopping batch jobs.
API: Responsible for the core logic of Kaltura. All workflows utilize the API server role to work objects or tasks through the Kaltura Platform
Memcache: Used as a caching mechanism
Sphinx: Responsible for real-time search indexing of metadata
Batch: Responsible for performing and maintaining all jobs in the platform
Transcoding: Responsible for converting and ensuring that the video assets are correctly transcoded
Analytics: Aggregates data from multiple sources (including player beacons, CDN logs, API database), in order to generate usage reports (e.g. plays, player impressions, bandwidth, storage)
Admin Console: Responsible for creating and managing publishers, monitoring batch jobs, investigating entries, seeing overall health of batch servers, and performing test API calls
MySQL: Responsible for storing all database data in the platform
Media Server: Responsible for the Delivery and webcam recording features
Shared Storage: Responsible for sharing and storing all media assets
Redundancy
Server Role
Redundancy Type
Description
API
Load balanced
Memcache
None
Impact of this service going down does not hinder any feature use, however there is a small performance impact with it off.
Sphinx
Application-level
If a sphinx server becomes unreachable, the Kaltura application will use an available sphinx server. Sphinx is not hardware load balanced.
Batch
Load balanced
Since Batches connect with API load balancer, the API load balancer provides redundancy.
Transcoding
Load balanced
Since Batches(transcoders) connect with API load balancer, the API load balancer provides redundancy.
Analytics
API + Database
Access logs are rotated out to the content share.
Admin Console
None
Multiple admin console servers can be behind a load balancer.
Media Server
Load balanced
Load balancer can distribute to each server.
MySQL
Master/Slave
Manual failover is required from the Master to the Slave, or if you want to promote the Slave to Master.
Network Map
The following diagram illustrates the Kaltura Connection Server Role Break-out
System Overview
Architecture
API
Physical
Roles
Network
Directory Structure
Configuration Files
Caching
Wowza
Kaltura Chaching Mechanisms
API cache – caches API calls, stored on local API servers.
SWF widgets cache – caches rendered Flash player widgets.
APC - opcode caching. APC is local on each Apache machine
Memcache - Publisher info and some uiconf data – local on each API server.