Testing grpc microservices Sep 25, 2023 · Getting Started with gRPC in Spring Boot using the @GrpcService Annotation Introduction In modern microservices architecture, efficient and scalable communication between different services is … Jun 8, 2024 · Conclusion We have examined how to integrate gRPC with NestJS to create effective microservices in this extensive article. This application based on different software architecture and technologies like . Jan 16, 2025 · Discover the power of gRPC, an open-source framework for building high-performance, scalable APIs. What is gRPC? gRPC was developed by Google and is an open-source framework that enables communication between services in a distributed system. Feb 25, 2021 · We'll majorly focus on the How section, to implement the client and server, to write unittests to test the client and server code separately, and will run the code to establish a client-server communication. About the Book gRPC Microservices in Go teaches you how to build production-ready microservices using Go and gRPC. Contribute to mabuonomo/example-nestjs-microservices-grpc development by creating an account on GitHub. It objectively delivers key benefits that make the resulting system resilient to failure and scalable at the desired level of granularity. Mar 13, 2025 · Welcome to today’s post. Based on the business use case, you can pick the most appropriate technology to build your service. NET C# to perform CRUD operations on a book management system. Sep 21, 2025 · Java API testingSpring Boot testing REST API testing gRPC testing Microservices testing API testing toolsSpring Boot REST API testing reveal a new era in modern API QA. gRPC was initially created by Google, but is open source and is used in many organizations. Nov 12, 2024 · An introduction to key gRPC concepts, with an overview of gRPC architecture and RPC life cycle. Postman announced first-class support for gRPC at the beginning of this year and followed it up with loads of improvements based on some truly fantastic feedback we received from our gRPC community on GitHub. 1 in AKS, I have three microservices written ,NET core and deployed to AKS cluster and all are injected using DI during startup Oct 22, 2025 · What is gRPC: Features, Architecture, and Use Cases Learn what gRPC is, its architecture, features, and real-world use cases. However, its increasing adoption introduces a new frontier of security risks that many organizations are unprepared to face. I'm writing Tagged with go, microservices, grpc, tutorial. We focus on unit and integration tests. gRPCurl a command-line tool for interacting with gRPC services. 4️⃣Debugging and optimizing your gRPC services in a . In this project, the implementation of grpc client service can be observed in BookServiceApi. Discover why engineering leaders are switching to gRPC—faster communication, lower latency, and better efficiency for modern microservices. Helpful examples, including a complete eCommerce web app, make it easy to grasp each concept. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. For internal communication, gRPC is often the better choice due to its speed and language-agnostic capabilities. gRPCui is an interactive web UI. May 20, 2024 · Grpc client methods can be easily tested in unit and integration test processes if they are implemented with an interface for grpc calls. NestJS offers modular architecture, while gRPC provides fast inter-service communication. In this article, we explore how Rust's async functionalities, alongside GRPC and the Tonic library, can form a powerful combination for creating performant microservices. Feb 6, 2025 · Discover the best Python frameworks for microservices, including Flask, FastAPI, Django, and more. However, with This is the code repository for gRPC Go for Professionals, published by Packt. gRPC has emerged as a preferred framework for enabling efficient, high-performance communication between these services. The interoperability features of gRPC and ProtoBuf, along with tools like gRPC-Web and gRPC-Gateway, can help smooth the transition and enable the coexistence of gRPC and REST services in a microservices architecture. Apr 12, 2024 · In this article, we will learn how to test gRPC Services in . File gRPC (acronym for gRPC Remote Procedure Calls[2]) is a cross-platform high-performance remote procedure call (RPC) framework. Jun 8, 2023 · 0 I have a 3 grpc microservices r1, r2, r3 where r1 connect to r2 and r2 connect to r3 for response. In today’s post I will be explaining how to setup and implement unit testing for gRPC services. Oct 17, 2025 · How to Test gRPC APIs Efficiently Testing gRPC APIs can be tricky, but with the right tools, developers can ensure smooth, secure, and efficient communication. Learn how it works, its key differences from traditional protocols like REST, and when to choose gRPC for your projects. Feb 4, 2024 · Using gRPC to Build Effective Interactions Between Microservices in Go Introduction In the era of microservice architecture, where each functionality is developed as a separate service, the … Nov 27, 2018 · A Pragmatic Microservices Use Case with gRPC Microservices-based applications consist of multiple services and are built with a variety of programming languages. It also includes unit tests built with Google Test, a CMake-based build system. Jul 23, 2025 · As organizations increasingly adopt microservices architecture, the choice of communication protocol becomes crucial for ensuring performance, scalability, and maintainability. We leveraged TCP, which is the Transport Later protocol for Point-to-point communication. - thangchung/booking Moving past the now-required disclaimer on microservices, this article aims to share our experience building an internal gRPC-powered microservice at Dopt using Node. Jul 14, 2023 · Build robust, production-ready microservices in gRPC Go to enhance the scalability and efficiency of your APIs in real-world applications Purchase of the print or Kindle book includes a free PDF eBook Key Features Discover essential guidelines to steer clear of pitfalls when designing and evolving your gRPC services Develop your understanding of advanced gRPC concepts such as authentication Oct 4, 2023 · In this story let’s get an understand how to use gRPC in Node. For each Mar 18, 2025 · Compare gRPC and REST API performance with real benchmarks for microservices in 2025. This guide will walk you through the process of implementing gRPC in Go applications, covering the fundamental concepts, code implementation, best practices, and testing. First, the basic definitions and usage areas of gRPC and REST are explained, highlighting the importance of API protocols and selection criteria. Learn how to design, implement, and deploy robust and production-grade gRPC services that meet the demands of modern cloud-native applications. Learn how to load test gRPC microservices with practical tools and best practices. #javatechie #microservice #springboot #grpc 👉👉 In this video, we’ll build our first gRPC server application to explore the Unary communication pat Jun 8, 2024 · Conclusion We have examined how to integrate gRPC with NestJS to create effective microservices in this extensive article. This article explores the differences between HTTP and gRPC, two popular protocols, to help you make an informed decision. Feb 8, 2024 · Building microservices with Go and gRPC offers a robust foundation for building modern, cloud-native applications. This topic describes how to perform stress testing on a gRPC microservice. Here are some common use cases and scenarios where gRPC is often employed: 1. For communication between independent services, We use Jun 18, 2018 · Learn a clear and concise solution for creating, testing, and deploying microservices end-to-end with golang in this microservices development tutorial. This article reviews the top 5 gRPC load testing tools that can help you measure performance, identify bottlenecks, and optimize system reliability. It is great for real-time or chunked data, but avoid long-lived streams unless necessary. js frontend communicating via gRPC. Learn how to define, implement, and test your services with our comprehensive guide. Google uses this application to demonstrate how developers can modernize enterprise applications using Google Cloud products, including: Google Kubernetes Engine (GKE), Cloud Service Mesh (CSM), gRPC, Cloud 7 Testing microservices This chapter covers Understanding the motivation behind testing Test strategies (e. Like below What Jul 19, 2025 · Discover the seamless integration of Flask and gRPC to build powerful microservices. Dec 26, 2023 · Learn how to build microservices using gRPC and Python with a real-life use case. js, Typescript, and Connect. Jun 9, 2025 · Traffic mirroring has evolved from a network security tool. Then, the advantages (performance, efficiency) and disadvantages (learning curve, browser compatibility) of gRPC, as well Sep 8, 2024 · This post is not intended to compare the pros and cons of gRPC versus REST. As its adoption increases, ensuring your services can withstand heavy traffic becomes critical. js microservices and test those connections with Postman in this post. We demonstrated a straightforward way to establish the gRPC-based microservice communication using Java and Gradle. NET: A Comprehensive Guide Introduction In this article, we will explore gRPC and its role in building efficient microservices with . In this tutorial, we will cover the core concepts and techniques for implementing gRPC in real-world applications. Sep 8, 2024 · This post is not intended to compare the pros and cons of gRPC versus REST. Jan 20, 2021 · One of the common questions about gRPC services seems to be this - how do I quickly test my service, Tagged with microservices, grpc, benchmarking, performance. Dec 22, 2024 · Not just gRPC applications, testing is essential for any complex software that is developed. Oct 1, 2019 · Using gRPC in a Microservice Architecture By Dino Esposito | October 2019 The microservice architecture style has been taking the software industry by storm in the recent past and with some good arguments. Also, learn how to set up and implement gRPC in your application. Testing gRPC applications ensures that the microservices and other services can talk to each other reliably and efficiently. 3️⃣Testing gRPC services using Postman—a unique approach compared to traditional REST APIs. As you explore further, you'll discover additional features and patterns that can enhance the scalability, performance, and maintainability of your microservices architecture. g. It is particularly useful in microservices architectures where different services (or APIs) communicate with one another. One protocol we have seen that has gained significant traction is gRPC (gRPC Remote Procedure Call)—an open-source framework developed by Google. Pact helps ensure that these services can interact correctly by testing the contracts between them. proto file, implement server-side logic, and test with tools like Postman for efficient communication. NET. If you’re developing microservices in Laravel Jul 11, 2025 · gRPC: a high-performance framework for microservices communication, offering speed, security, and developer-friendly features Sep 28, 2020 · I am trying to load test Grpc ( client and service )using . NET Core applications. In it, you’ll learn to create efficient APIs in Go, use gRPC for network communication, and deploy on cloud and Kubernetes. Real-Time Communication: Applications that require real-time data exchange, such as live streaming systems and gaming backends, benefit from gRPC's performance characteristics. Build robust, production-ready microservices in gRPC Go to enhance the scalability and efficiency of your APIs in real-world applicationsPurchase of the print or Kindle book includes a free PDF eBookKey Features: Discover essential guidelines to steer clear of pitfalls when designing and evolving your gRPC servicesDevelop your understanding of advanced gRPC concepts such as authentication and Booking Microservices is a Sample application for booking ticket. This approach helps identify potential Apr 26, 2025 · This is a solid overview of the key communication methods used in microservices architectures. With the rise of Jan 6, 2025 · When designing microservices, developers have to choose reliable and efficient communication channels. 1 day ago · The microservice stress testing feature is used to perform stress testing on microservices that are deployed in a virtual private cloud (VPC). Docker is used for containerization and deployments, while external services like MongoDB, PostgreSQL, RabbitMQ, and MailHog are leveraged for data storage, messaging, and email Oct 10, 2023 · This article explores gRPC benefits in NestJS for microservices, comparing them with REST and SOAP protocols. Learn how to build high-performance APIs with Java and gRPC Feb 15, 2025 · Introduction Real-World Microservice Communication Patterns Using gRPC gRPC is a high-performance RPC (Remote Procedure Call) framework developed by Google. May 18, 2025 · Learn how to implement scalable microservices with Rust's Tonic gRPC framework, including code examples and deployment strategies for production systems. Jul 31, 2024 · Learn how to test services with gRPC tools. gRPC plays a very important role in this polyglot architecture. If you’ve ever wondered why Jul 23, 2025 · End-to-End Testing: Since gRPC supports various programming languages and platforms, end-to-end testing basically involves to ensure that the entire system, including client-server interactions, works as intended. This is just as true for gRPC as any other API specification, if not more so. Aug 28, 2025 · Manual testing: Test gRPC servers with ad hoc calls. Together, they enable efficient, scalable applications with streaming capabilities and strong testing support. Skill in load testing, performance tuning, and optimizing microservices for speed and responsiveness. 6 days ago · Understand what gRPC is, its key features, use cases, and its architecture. We've gone over the basics of gRPC, used Protocol Buffers to build a service, used an in-memory message storage to provide server-side functionality, built a message-sending client, and bootstrapped our NestJS application. Sep 25, 2021 · A while ago I a post called Easy ways to (performance) test a gRPC service about bring workflows Tagged with microservices, grpc, benchmarking, performance. This repository contains two sample microservices—a server and a client—that communicate over gRPC. grpc-swagger Introduction: gRPC has become the backbone of modern microservice communication, prized for its high performance and strong typing. Mar 30, 2025 · This is where gRPC (Google Remote Procedure Call) comes in. NET 6. Apr 25, 2024 · Like other Nest microservices transport layer implementations, you select the gRPC transporter mechanism using the transport property of the options object passed to the createMicroservice() method. Given that 85% of organizations are already using microservices, with more on the way, a lot of developers are going to be getting into gRPC in the near future. This article explores the critical vulnerabilities in gRPC implementations and provides hands-on techniques for both testing and securing Mar 2, 2025 · Exploring gRPC in Microservices with . Use cases range from microservices to the "last mile" of computing (mobile, web, and Internet of Things). js server-side applications. In some cases, you may need your microservice to communicate with a browser via REST, while also allowing internal microservices to communicate with it. I will be focusing on testing each of the four different gRPC call types: Unary (one-way) Server streaming Client Online Boutique is a cloud-first microservices demo application. Mar 13, 2025 · gRPC Penetration Testing As applications continue to evolve, so do the protocols that enable them to communicate. From implementing OAuth2 and JWT to SSL/TLS setup, discover proven techniques and tools to ensure your gRPC services remain secure. gRPC excels in scenarios requiring low-latency, high-performance synchronous communication, making it ideal for real-time applications and direct service-to-service calls. Questions may arise in your mind regarding gRPC. I will be showing how to use dependency injection to make gRPC services testable, and how to use the test mocking framework Mock, to implement unit tests. Feb 23, 2024 · As gRPC and Protobuf gain in popularity, gRPC contract testing becomes critical in preventing breaking changes and improving API quality. Mar 9, 2025 · This blog post comprehensively compares gRPC vs REST protocols, which play a critical role in the modern API development world. Mar 1, 2024 · Discover the essentials of implementing gRPC in . Handles failures gracefully, preventing cascading failures across the system. grpc-swagger Mar 2, 2025 · Exploring gRPC in Microservices with . Nov 17, 2022 · In addition, gRPC is the go-to protocol if we need bi-directional streaming between microservices. Dec 23, 2024 · Discover the best gRPC testing tools for load testing. karate-grpc - Example of using Karate to integrate and test gRPC. Learn how to define a . It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). In an enterprise scenario, a microservice Feb 14, 2024 · Intro This post is the fourth part of the "Learning Microservices with Go". . If you’re developing microservices in Laravel Nov 19, 2024 · Facing compatibility issues with Java gRPC in your microservices? Discover key strategies to conquer these challenges and unleash seamless communication! Mar 25, 2025 · Explore a detailed guide on migrating from REST to gRPC, covering key steps, best practices, and tips for developers to ensure a smooth transition. It provides a set of tools for building efficient, scalable, and maintainable microservices. Apr 12, 2023 · This step-by-step guide shows you how to build a high-performance microservices architecture with gRPC and Spring Boot. We’ll also discuss some of the tradeoffs and potential gotchas to consider when May 6, 2025 · By following this guide, you've set up a basic microservice architecture with a Go backend and Node. gRPC allows fast, low-latency communication between services, which has made it popular for microservices architectures. Using gRPC testing tools like PFLB's, you can create detailed scenarios that replicate actual gRPC calls, allowing you to thoroughly assess how your services perform under varying levels of stress. Learn to enhance microservices communication for building high-performance apps. fortio - A microservices (http, grpc) load testing library and tool from Istio project. File Sep 14, 2024 · Pact is an open-source contract testing tool used to test interactions between services based on contracts. Net Core, CQRS, DDD, Vertical Slice Architecture, Docker, kubernetes, tye, masstransit, RabbitMQ, Grpc, yarp reverse proxy, Identity Server, Redis, SqlServer, Entity Framework Core, Event Sourcing and different level of testing. Now to enhance further, we will use gRPC for the same to make communication even speedier between microservices. May 27, 2024 · Implementing a centralized authentication microservice with NestJS, simplifying token verification across microservices using gRPC and Monorepo structure. NET Core. This project demonstrates a set of 6 Go microservices communicating with different protocols: HTTP, RPC, gRPC, and AMQP. All the 3 microservices are entirely different project and running on different port 8001, 8002, 8003. Jan 17, 2023 · Describing synchronous communication between microservices using gRPC, discussing highlights and challenges, and showing a simple example written in . Learn about microservices load testing in this article. Feb 2, 2025 · NestJS-gRPC (2 Part Series) 1 NestJS + gRPC + step by step guide + e2e tests 2 NestJS + AWS S3 + Multipart file upload + gRPC + e2e testing • Feb 22, 2025 · Learn how to get started with gRPC through our comprehensive step-by-step tutorial, perfect for beginners and experienced developers alike. Jul 23, 2025 · Conclusion Both gRPC and message brokers serve crucial roles in modern microservices architectures but are suited to different use cases. But as your user base grows, how can you be confident that your gRPC services will maintain their performance under increased load? Fortio is a microservices (http, grpc) load testing library, command line tool, advanced echo server, and web UI in go (golang). May 2, 2024 · Testing the load capacity of microservices continues to remain an elusive challenge. Feb 4, 2024 · Using gRPC to Build Effective Interactions Between Microservices in Go Introduction In the era of microservice architecture, where each functionality is developed as a separate service, the … Jul 23, 2025 · Conclusion Both gRPC and message brokers serve crucial roles in modern microservices architectures but are suited to different use cases. The comparison between REST, gRPC, Kafka, WebSockets, and Message Queues is clear and well-structured May 27, 2024 · Implementing a centralized authentication microservice with NestJS, simplifying token verification across microservices using gRPC and Monorepo structure. You can quickly perform stress testing on microservices after you make simple configurations in the Performance Testing (PTS) console. Learn their pros, cons, and how to choose the right one for your project. Oct 4, 2025 · Testing gRPC services requires specialized approaches due to their binary protocol, streaming capabilities, and strong typing. Jul 3, 2025 · Advanced gRPC in Microservices: Hard-Won Insights and Best Practices Use streaming wisely. For information about how to use command-line and UI tooling with gRPC services, see Test gRPC services with gRPCurl and gRPCui in ASP. Jun 3, 2025 · Explore gRPC performance testing using k6 and JMeter. May 9, 2025 · In Go applications, gRPC has become a popular choice for building scalable and efficient microservices due to its low latency, high throughput, and strong typing. Load testing a GRPC application Applications often rely on microservices to deliver seamless user experiences. Net Core 3. We will dive into the technical Jul 31, 2025 · gRPC Authentication Best Practices Master the art of securing microservices with gRPC authentication. Jan 21, 2025 · We create a simple gRPC service using . This comprehensive guide covers all aspects of gRPC API testing (as discussed in GraphQL Testing: Complete Guide with Examples). NET 9 project. Learn which protocol delivers better speed, scalability and efficiency. The most effective approach for load testing gRPC services involves simulating real-world traffic patterns that your microservices are likely to encounter. They were trying to find a simple way to test their code without spinning up a gRPC … Feb 26, 2025 · Discover why gRPC outperforms REST for microservices communication. I am doing a lot of manual exploratory testing of microservices after a feature story has been delivered. Learn how to implement a gRPC service and integrate it into your Spring Boot About A C++ project template demonstrating microservice architecture using gRPC and Protocol Buffers. ghz - Simple gRPC benchmarking and load testing tool inspired by hey and grpcurl. HTTP vs gRPC for Microservices Feb 24, 2023 · Learn how to use gRPC to communicate between Node. In today’s microservices landscape, gRPC is rapidly gaining traction as a high-performance protocol for service communication. Jan 24, 2022 · gRPC is designed to support high-performance open-source RPCs in many languages. Go Food Delivery Microservices is an imaginary and practical food delivery microservices, built with Golang and different software architecture and technologies like Microservices Architecture, Vertical Slice Architecture , CQRS Pattern, Domain Driven Design (DDD), Event Sourcing, Event Driven Architecture and Dependency Injection. gRPC uses HTTP/2 for transport, Protocol Buffers as the interface Feb 26, 2025 · Ideal Use Cases: Microservices: gRPC is excellent for inter-service communication in a microservices architecture due to its low latency and high throughput. Sep 30, 2023 · NestJS and gRPC combine for high-performance microservices. This page describes performance benchmarking tools, scenarios considered by tests, and the testing infrastructure. May 25, 2023 · Final Thoughts on gRPC Testing In many ways, our APIs are only as good as our API testing tools. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them. May 14, 2025 · A Step-by-step Guide to Test gRPC API In the fast-paced world of microservices, gRPC (Google Remote Procedure Call) has become a go-to framework for building high-performance, efficient May 23, 2025 · In this article, we’ll show you how you can use familiar JVM tools - Spring Boot, gRPC, and WireMock together. Built on HTTP/2, gRPC is fast, efficient, and perfect for real-time microservices communication. Learn how each approach impacts performance and scalability. Fortio allows to specify a set query-per-second load and record latency histograms and other useful stats. Keep reading the best strategy, types, and tools for load testing microservices. Instead, the focus is on how to combine both. While REST APIs have been the go-to solution for many developers, gRPC has emerged as a powerful alternative. strest-grpc - A load tester for stress testing grpc intermediaries. Microservices Architecture: gRPC is well-suited for building and maintaining microservices-based applications. Dive into the world of microservices with gRPC Go for Professionals, a practical guide to mastering gRPC development using Go. Nov 13, 2025 · Learn how to use Microservices observability features by building a simple gRPC application on Google Cloud Platform using Compute Engine. Like many RPC systems, gRPC is based on the concept of defining a service in terms of functions (methods) that can be called remotely. Understand how Requestly helps test gRPC APIs efficiently. Implement, test, and deploy production-grade microservices Dec 12, 2024 · In today’s era of microservices, efficient communication between services is crucial. Aug 20, 2024 · Using WireMock + TestContainers + gRPC to mock services for integration tests One of the most common issues when developing applications in a microservices architecture is how to effectively test Feb 14, 2025 · Learn about gRPC, a high-performance framework ideal for microservices, with its features, uses in Spring Boot, and benefits for scalable distributed systems. JS by building a practical communication system for three micro services Microservices load testing ensures your application meets performance requirements in production. Organizations can now use it to test and debug microservices by replaying production traffic in a non-customer–facing environment. This chapter dives into who benefits, what shifts we’re seeing, when these practices matter, where teams apply them, why they drive value, and how to start building a scalable testing culture. How can I write integration test where I can validate connectivity among microservices? Dec 19, 2024 · 2️⃣Step-by-step guide to implementing services with gRPC, including Create, Read, Update, and Delete operations. Supports gRPC. Explore our list to ensure robust performance and reliability under stress. net applications. If your microservices stack uses REST, GraphQL, or gRPC, you’ll find a clear path from design to testing to performance tuning. What is gRPC? gRPC - Remote Procedure Call gRPC is a high performance, open-source universal RPC Framework Developing, testing, and deploying a gRPC microservice application In part 2, we begin by showing you how to set up your environment to work with Go, gRPC, and related tools for your microservices application. gRPC (Google Remote Procedure Call) is an open-source RPC framework that offers high performance, low latency, and type-safe communication. Build robust, production-ready microservices in gRPC Go to enhance the scalability and efficiency of your APIs in real-world applicationsPurchase of the print or Kindle book includes a free PDF eBookKey FeaturesDiscover essential guidelines to steer clear of pitfalls when designing and evolving your gRPC servicesDevelop your understanding of advanced gRPC concepts such as authentication and Aug 14, 2024 · In summary of Part 1, we implemented Point-to-point using TCP and Event-Based Communication using Broker between microservices. Oct 2, 2025 · This chapter dives into REST API design and API reliability in microservices monitoring, and explains why GraphQL performance and gRPC performance testing matter for practical, scalable API strategies. hazana - A Go package for creating load test tooling. Apr 28, 2023 · Testing gRPC methods I was recently asked by a colleague on the best way to test a gRPC method for streaming. This setup is just the beginning - as your application grows, gRPC provides the scalability and performance needed for demanding microservice ecosystems. Sep 20, 2025 · API Design and Security in Microservices: REST, GraphQL, gRPC, OpenAPI, OWASP and Pen Testing In the real world, microservices are not just a tech buzzword — they’re a practical way to break big software into bite-sized, independently deployable pieces. Explore how Apidog empowers developers to debug gRPC APIs, from unary calls to bidirectional streaming, with features like automatic message generation and TLS support. , unit testing, integration testing, and end-to-end testing) Test - Selection from gRPC Microservices in Go [Book] Jun 25, 2025 · Explore the differences between REST and gRPC for microservices communication in . Nest is a framework for building efficient, scalable Node. To do that, I need to simulate different responses from a gRPC API. NestJS + gRPC: a multi microservices example. Mar 18, 2025 · Compare gRPC and REST API performance with real benchmarks for microservices in 2025. Become an expert in gRPC for seamless communication! Mar 16, 2024 · Lately I was searching for a way to run gRPC integration tests on our gRPC microservices before deploying these services to production. gRPC gRPC is a modern, open source, high performance RPC framework that can run in any environment.