Zero-latency, real-time processing of vast data volumes in .NET
Services included:
Web development
API development
Architecture
Resolute has helped develop a real-time aviation tracking platform for a global technology manufacturer using Blazor and .NET technologies. The platform dynamically processes over 1,000 concurrent events, accurately tracking the live locations and comprehensive properties of various radio-emitting aircraft objects based on their changing coordinates.
Challenge
The Resolute team faced multiple engineering challenges in developing the real-time aviation tracking platform. A significant hurdle presented the processing of thousands of events in real-time. An additional performance challenge arose from managing the event flow between the Blazor-based frontend and JavaScript-based frameworks via Blazor’s JavaScript Interop.
Another challenge tackled by the Resolute team was enabling real-time updates within an event-based system that adheres to REST-ful communication principles. This system needed to support multiple users concurrently editing the same object attributes while ensuring that all users could see real-time updates on the object’s status.
Last but not least, Resolute overcame the challenge of allowing users to independently develop and locally deploy third-party plugins, ensuring these additions could integrate seamlessly without modifying the core system.
Solution
The Resolute team implemented several innovative solutions to enhance the client’s platform:
- Blazor and JavaScript Integration: To bridge the frontend development in Blazor with JavaScript frameworks in use, Resolute engineered two separate SignalR hubs—one for Blazor UI and another for the JavaScript-based UI. This setup minimized the load on the JavaScript Interop, optimizing system performance.
- Real-time updates and concurrent editing: A custom-developed thin layer on top of Kafka enables multiple users to edit the same object attributes concurrently while receiving real-time updates. This setup utilized a standard observer pattern on both server and client sides, facilitated by Kafka’s streaming capabilities and SignalR connections for seamless event management.
- Platform extensibility through 3rd party plugins: Resolute created an internal plugin SDK that enables the easy development and local deployment of third-party plugins without altering the core system, enhancing the platform's extensibility and maintaining application integrity.
These solutions collectively improved the platform’s efficiency, versatility, and user collaboration capabilities.
Results
The Resolute team successfully solved the challenge of processing a high volume of concurrent, real-time events and significantly enhanced the platform by introducing critical functionalities that increased its value and versatility. These enhancements include dual data modes supporting both live and historical data, a screensharing feature with real-time video and audio for improved team collaboration, and robust system health checks with automatic UI recovery, ensuring enhanced system resilience.
1,000+ events
Zero-latency processing
Dual data modes
Both live and historical data
Audio & video
Real-time streaming