grpc README

The project's README from github.com/grpc/grpc. As one markdown file: README.md.

gRPC – An RPC library and framework

gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.

Homepage: grpc.io
Mailing List: [email protected]

Join the chat at https://gitter.im/grpc/grpc

To start using gRPC

To maximize usability, gRPC supports the standard method for adding dependencies to a user's chosen language (if there is one). In most languages, the gRPC runtime comes as a package available in a user's language package manager.

For instructions on how to use the language-specific gRPC runtime for a project, please refer to these documents

Per-language quickstart guides and tutorials can be found in the documentation section on the grpc.io website. Code examples are available in the examples directory.

Precompiled bleeding-edge package builds of gRPC master branch's HEAD are uploaded daily to packages.grpc.io.

To start developing gRPC

Contributions are welcome!

Please read How to contribute which will guide you through the entire workflow of how to build the source code, how to run the tests, and how to contribute changes to the gRPC codebase. For detailed C++ build instructions, see Building from source. The "How to contribute" document also contains info on how the contribution process works and contains best practices for creating contributions.

Troubleshooting

Sometimes things go wrong. Please check out the Troubleshooting guide if you are experiencing issues with gRPC.

Performance

See the Performance dashboard for performance numbers of master branch daily builds.

Concepts

See gRPC Concepts

About This Repository

This repository contains source code for gRPC libraries implemented in multiple languages written on top of a shared C++ core library src/core.

Libraries in different languages may be in various states of development. We are seeking contributions for all of these libraries:

Language Source
Shared C++ [core library] src/core
C++ src/cpp
Ruby src/ruby
Python src/python
PHP src/php
C# (core library based) src/csharp
Objective-C src/objective-c
Language Source repo
Java grpc-java
Kotlin grpc-kotlin
Go grpc-go
NodeJS grpc-node
WebJS grpc-web
Dart grpc-dart
.NET (pure C# impl.) grpc-dotnet
Swift grpc-swift

grpc (grpc/grpc)

Searching Database…

45.4K ·GitHub
Что это такое?gRPC — это современный высокопроизводительный открытый фреймворк для удалённых вызовов процедур (RPC), который позволяет клиентским и серверным приложениям прозрачно взаимодействовать между разными языками и платформами.
Это одна библиотека или фреймворк для нескольких языков?Это фреймворк, в основе которого лежит общая библиотека на C++, на которой работают привязки для многих языков (C++, Python, Ruby, PHP, C#, Objective-C в этом репозитории, а также Java, Go, Node, Dart, Swift в отдельных репозиториях).
Как добавить gRPC в свой проект?Установите через менеджер пакетов вашего языка: например, 'pip install grpcio' для Python, 'npm install @grpc/grpc-js' для Node, 'gem install grpc' для Ruby, NuGet-пакеты для .NET или 'go get google.golang.org/grpc' для Go.
Нужно ли что-то помимо менеджера пакетов, чтобы использовать привязку к языку?Для большинства языков достаточно обычной установки через менеджер пакетов; сборка C++-ядра из исходников (для работы с самим C++ или для внесения вклада) требует следования отдельной инструкции по сборке из исходного кода.
Все ли реализации для разных языков одинаково зрелые?Нет, библиотеки для разных языков могут находиться на разных стадиях развития, а несколько из них (Java, Kotlin, Go, NodeJS, WebJS, Dart, чистый C# для .NET, Swift) на самом деле живут в отдельных выделенных репозиториях, а не в этом.
Какие языки и платформы действительно поддерживает gRPC?В этом репозитории представлены C++, Python, Ruby, PHP, C# (на основе ядра) и Objective-C; Java, Kotlin, Go, NodeJS, WebJS, Dart, .NET (чистый C#) и Swift поддерживаются в собственных репозиториях grpc-*.
Где найти руководства и примеры кода?Руководства по быстрому старту для каждого языка и туториалы находятся на сайте документации grpc.io, а готовые к запуску примеры кода — в каталоге examples репозитория.
Можно ли отслеживать снижение производительности?Да, панель производительности отслеживает показатели из ежедневных сборок ветки master.
Можно ли получить самые свежие сборки вместо стабильных релизов?Да, предкомпилированные сборки текущего состояния ветки master (HEAD) ежедневно выгружаются на packages.grpc.io.
Какую основную концепцию нужно понять перед использованием gRPC?gRPC построен на удалённых вызовах процедур, когда клиент может напрямую вызывать методы серверного приложения так, будто они локальные; модель подробно описана в документе «gRPC Concepts».
Creator
grpc
Size
613.2 MB
Stars
45.4K
Age
11y
Commits · 90 Days