Home / Companies / Wundergraph / Blog / January 2025

January 2025 Summaries

3 posts from Wundergraph

Filter
Month: Year:
Post Summaries Back to Blog
Normalization is a crucial step in the GraphQL Federation query planning process. Query Plan Caching can save up to 10 seconds of latency per request, and it's not just an optimization but a necessity for any GraphQL API used in applications sensitive to latency. However, low hit ratios can prevent caching from working effectively. Normalization affects the hit ratio of the cache by flattening the query structure, exporting variables, or using deterministic variable names. The three forms of normalization have different strengths and weaknesses, with Form 1 being suitable for validation but not ideal for caching, Form 2 being great for analytics but negatively affecting caching, and Form 3 being perfectly suited for caching query plans while having a downside in terms of error message generation. GraphQL Federation can replace the complexity of multiple optimized REST APIs and BFFs with a more efficient organization structure, making it better to have a complex but well-understood piece of software than a simple solution that brings organizational complexity.
Jan 28, 2025 2,359 words in the original blog post.
gRPC is better suited for performance-critical systems that require high-speed, low-latency communication between services. Its binary serialization via Protocol Buffers and HTTP/2 support make it ideal for real-time analytics, video streaming, or financial services. GraphQL, on the other hand, excels in client-driven applications with intricate requirements, providing a flexible querying approach and streamlined data delivery. The choice between gRPC and GraphQL ultimately depends on the specific needs of your project, requiring careful consideration of factors such as performance, scalability, and team expertise. Both frameworks can be combined in hybrid architectures that leverage their strengths to create a balanced solution.
Jan 22, 2025 3,099 words in the original blog post.
We've developed Cosmo Router, an open-source GraphQL API Gateway that routes requests from clients to Subgraphs, implementing the GraphQL Federation contract. To provide a flexible configuration system for our users, we decided to use an expression language called Expr Lang. This decision was driven by the need to allow users to customize the behavior of the Router without modifying the source code. Expr Lang is designed to deliver dynamic configurations with unparalleled accuracy, safety, and speed. It combines simple syntax with powerful features for ease of use. The key benefits of using Expr Lang include its safety and side effect-free nature, ability to prevent infinite loops, fast compilation and execution, and reusability. We've implemented the expression language in our Router, allowing users to write custom expressions that can access request information and make decisions based on it. This approach provides a flexible configuration system without requiring users to modify the source code, making it easier for them to customize the behavior of the Router.
Jan 07, 2025 1,852 words in the original blog post.