Scalable Message Bus for Distributed Data Grid Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern distributed computing systems face an input/output (I/O) bottleneck due to communication mechanisms, limiting performance and efficiency in handling high demand from millions of users and transactions, especially in scale-out architectures.
Innovation Solution
A scalable message bus system is implemented in a distributed data grid, providing each service with its own message bus and utilizing a datagram layer for clustering, while allowing message buses to bypass the datagram layer for data transfer, using a pluggable provider and protocols like RDMA or UDP, and triggering death detection for failed message buses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single communication mechanism is used to connect all system components, then the system structure is simple, but the I/O bottleneck limits performance and efficiency
Solution Approach 1:
The patent divides the single communication mechanism into multiple message buses, where each service has its own dedicated message bus. This segmentation eliminates the I/O bottleneck by allowing parallel communication channels while maintaining manageable system structure through modular organization of services and their corresponding buses.
2Productivity
If multiple message buses are provided for each service, then the I/O bottleneck is relieved and throughput increases, but the device complexity increases
Solution Approach 1:
The patent applies local quality by providing each service with its own dedicated message bus rather than a shared communication mechanism. This localized approach optimizes performance for each service individually while the overall system complexity is managed through the systematic organization of services and their private buses, allowing parallel operations without global coordination overhead.
3Reliability
If the datagram layer is used for all data transfers, then clustering is supported, but the I/O bottleneck persists and latency increases
Solution Approach 1:
The patent extracts the datagram layer from the data transfer path while retaining it for clustering functions. By removing the datagram layer from the critical data transfer route between services, the system achieves lower latency and higher throughput, while clustering functionality is maintained through alternative mechanisms that do not bottleneck the data transfer path.
4Adaptability or versatility
If message buses are designed to be pluggable with multiple protocol support, then adaptability increases, but the device complexity increases
Solution Approach 1:
The patent implements universality by designing the message bus provider to support multiple bus protocols through a unified pluggable interface. This allows the same message bus infrastructure to adapt to different communication protocols (such as RDMA, TCP/IP, or custom protocols) without requiring separate dedicated buses for each protocol, thereby achieving protocol versatility while controlling system complexity through standardized interfaces and modular provider implementations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method can provide a scalable message bus in a distributed data grid. The system can provide a plurality of message buses in the distributed data grid, wherein the distributed data grid includes a plurality of cluster members and provides a plurality of services. Furthermore, the system can associate each said service in the distributed data grid with a said message bus, and use the plurality of message buses to support data transferring between different services on different cluster members in the distributed data grid. Additionally, the system can use a datagram layer to support clustering in the distributed data grid, and bypass the datagram layer in the distributed data grid for data transferring.