The MigratoryData technology consists of:
- MigratoryData Server
- MigratoryData Client SDKs
- MigratoryData Plugin SDKs
- MigratoryData Integrations
The key features of the MigratoryData server are described below.
Universal API for Messaging
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.
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.
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.
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.
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|
|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|
MigratoryData Plugin SDKs
Several extension APIs for building plugins for the MigratoryData server are available.
|Entitlement||Define data access rules|
|Audit||Provide various audit info (access, messages, stats, etc)|
|Presence||Provide information about user presence|
Currently MigratoryData provides the following integrations.
|Firebase||Deliver push notifications to offline mobile users|
|Elastic||Log management and monitoring|
|Kafka||Extend Apache Kafka bidirectionally to web and mobile users|