gRPC Microservices Communication for Non-Blocking Data Grid Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservices environments face challenges in efficiently communicating between client and server applications, particularly when using blocking database operations, which can lead to performance issues in reactive applications.
Innovation Solution
Implementing a remote procedure call (RPC) framework like gRPC within microservices environments, such as Helidon, to enable seamless communication and support non-blocking database interactions, leveraging features like load balancing, tracing, and authentication, while allowing for easy development and integration with systems like Oracle Coherence.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocking database operations are used in microservices environments, then database operations can be performed, but performance deteriorates due to thread locking in reactive applications
Solution Approach 1:
The patent introduces an RPC framework as an intermediary layer between client applications and database operations. This framework enables non-blocking database interactions by mediating communication through asynchronous mechanisms, allowing applications to maintain high performance while reliably executing database operations without thread locking.
Solution Approach 2:
The patent replaces the traditional blocking mechanical interaction model with an asynchronous non-blocking mechanism. By substituting the synchronous thread-locking approach with event-driven or callback-based asynchronous operations, the system eliminates thread locking while maintaining database operation reliability, thereby improving application performance.
2Productivity
If RPC framework is implemented for seamless communication, then communication efficiency improves, but system complexity increases
Solution Approach 1:
The patent segments the communication functionality into distinct components: client applications, RPC framework, and server applications. This segmentation allows each component to be developed, tested, and optimized independently, reducing overall system complexity while maintaining high communication efficiency through specialized RPC protocols.
Solution Approach 2:
The patent implements a universal RPC framework that handles multiple communication scenarios (synchronous, asynchronous, streaming) and supports various data types and protocols through a single unified interface. This multi-functionality reduces system complexity by eliminating the need for multiple specialized communication mechanisms while maintaining high communication efficiency.
3Ease of manufacture
If focus is placed on application logic rather than communication details, then development ease improves, but communication overhead may increase
Solution Approach 1:
The patent implements self-service mechanisms where the RPC framework automatically handles communication details such as connection management, error handling, and data serialization. This allows developers to focus solely on application logic without managing communication overhead manually, while the framework optimizes communication efficiency through built-in features like connection pooling and asynchronous processing.
Data Source
AI summary
In accordance with an embodiment, described herein is a system and method for supporting the use of remote procedure calls in microservices environments. A microservices (e.g., Helidon) environment provides a development framework that enables a software developer to create and use microservices. A remote procedure call (RPC) framework or component, such as, for example, a gRPC framework, enables client and server applications to communicate within the microservices environment, to build connected systems. In accordance with an embodiment, the gRPC framework enables communication between client and server applications associated with an in-memory data grid environment, such as, for example, an Oracle Coherence environment.


