The MigratoryData technology consists of:

  • MigratoryData Server
  • MigratoryData Client SDKs
  • MigratoryData Plugin SDKs
  • MigratoryData Integrations

MigratoryData Server

The key features of the MigratoryData server are described below.

Universal API for Messaging

MigratoryData exposes a simple publish/subscribe client API with libraries for the most popular platforms and programming languages, including iOS, Android, JavaScript, Java, C#, C++, Node.js, Python, PHP, and more. Please refer to the [Client SDKs](#Client SDKs) section below for more details.

Massive Scalability

The MigratoryData server running on a single 1U server can handle 10 million concurrent users (with substantial outgoing messaging traffic, of the order of 1 Gbps). Thus achieving 1000x more scalability than the well-known C10K problem which has been for a long time a scalability challenge in the realm of web servers. Besides its unparalleled vertical scalability, MigratoryData scales horizontally through built-in clustering to cost-efficiently handle any number of users.

Active/Active Clustering

Multiple instances of the MigratoryData server can be deployed as a fault-tolerant active/active cluster with no single point of failure. Please refer to the clustering section below for more details.

Guaranteed Message Delivery & Message Ordering

MigratoryData clustering can be configured to achieve guaranteed message delivery and message ordering even in the event of unexpected events such as hardware failures or network disconnections. Please refer to the Guaranteed Message Delivery section below for more details.

Efficient Network Utilization

As detailed in the introduction, MigratoryData implements the publish/subscribe model using a compact message protocol over WebSockets, thus achieving up to several orders of magnitude bandwidth improvement compared to the traditional HTTP polling approach.

High Messaging Volumes

MigratoryData is designed to scale up the entire capacity of the allocated resources, including the network. For example, MigratoryData deployed on a single 1U server can saturate the 10 Gigabit Ethernet, consisting of almost 2 million messages per second.

Milliseconds Latency

Fresh data available on the server is delivered to users in milliseconds. For example, MigratoryData running on a single 1U server can achieve almost 1 Gbps messaging to 10 million concurrent clients with 15 millisecond consistent latency.

Enterprise-grade Security

MigratoryData uses the industry standards like TLS/SSL for data encryption, IP-based protections, dual firewalls, and token-based authorization/entitlement. Please refer to the Security section below for more details.

Advanced Monitoring

Encrypted and password-protected monitoring is made available through the industry standards JMX and HTTP which can be integrated with most enterprise management systems. See the monitoring section below for more details.

Extensible with Plugins

MigratoryData currently provides several Extension APIs for building plugins for audit, authorization, and user presence. Please refer to the [Plugin SDKs](#Plugin SDKs) section below for more details.

MigratoryData Client SDKs

MigratoryData offers a common client API with libraries for various languages and technologies as listed below.

Application Type Client API Functions
Web Applications JavaScript publish and subscribe
Mobile Applications iOS publish and subscribe
  Android publish and subscribe
Enterprise Applications Java publish and subscribe
  .NET publish and subscribe
  C++ publish and subscribe
  Python publish and subscribe
  ReactPHP publish and subscribe
  PHP publish only

MigratoryData Plugin SDKs

Several extension APIs for building plugins for the MigratoryData server are available.

Extension API Description
Entitlement Define data access rules
Audit Provide various audit info (access, messages, stats, etc)
Presence Provide information about user presence

MigratoryData Integrations

Currently MigratoryData provides the following integrations.

Integration Description
Firebase Deliver push notifications to offline mobile users
Elastic Log management and monitoring
Kafka Extend Apache Kafka bidirectionally to web and mobile users