领域
API & Integration
技能档案
gRPC framework, protobuf, service definitions, streaming, interceptors
角色数
9
包含此技能的角色
级别数
5
结构化成长路径
必要要求
26
其余 19 个可选
API & Integration
API Protocols
2026/3/17
选择当前级别并对比期望。下方卡片显示晋升所需掌握的内容。
表格展示从初级到首席的技能深度变化。点击行查看详情。
| 角色 | 必要性 | 描述 |
|---|---|---|
| Backend Developer (C#/.NET) | Understands gRPC fundamentals in .NET: proto file definitions, code generation with protobuf-net/Grpc.Tools, and basic unary RPC calls. Follows team patterns for implementing gRPC services and clients with ASP.NET Core gRPC. | |
| Backend Developer (Elixir) | Understands gRPC fundamentals in Elixir: proto file definitions, code generation with grpc-elixir, and basic unary calls. Follows team patterns for implementing gRPC services with Elixir's concurrency model and OTP supervision. | |
| Backend Developer (Go) | 必要 | Knows gRPC basics in the Go ecosystem: can generate code from .proto files via protoc-gen-go-grpc, make simple unary calls. Understands the structure of generated code and how Protocol Buffers work for serialization. |
| Backend Developer (Java/Kotlin) | Understands gRPC fundamentals in Java: proto file definitions, code generation with protobuf-maven-plugin, and basic unary RPC calls. Follows team patterns for implementing gRPC services with Spring Boot gRPC starter. | |
| Backend Developer (Node.js) | Understands gRPC fundamentals in Node.js: proto file definitions, code generation with @grpc/proto-loader, and basic unary calls. Follows team patterns for implementing gRPC services with grpc-js and NestJS gRPC transport. | |
| Backend Developer (PHP) | Understands gRPC concepts and their applicability in PHP: knows PHP limitations for streaming scenarios, can install grpc extension and call unary RPC. Understands why PHP projects use gRPC for communication with microservices in other languages. | |
| Backend Developer (Python) | Understands gRPC fundamentals in Python: proto file definitions, code generation with grpcio-tools, and basic unary calls. Follows team patterns for implementing gRPC services with grpcio and async support via grpclib. | |
| Backend Developer (Rust) | Understands gRPC fundamentals in Rust: proto file definitions, code generation with tonic-build, and basic unary calls. Follows team patterns for implementing gRPC services with tonic framework and type-safe protobuf message handling. | |
| Backend Developer (Scala) | Understands gRPC fundamentals in Scala: proto file definitions, code generation with ScalaPB, and basic unary calls. Follows team patterns for implementing gRPC services with Akka gRPC or ZIO gRPC functional streaming. |
| 角色 | 必要性 | 描述 |
|---|---|---|
| Backend Developer (C#/.NET) | 必要 | Develops gRPC services on ASP.NET Core: implements all RPC types including bidirectional streaming via IAsyncStreamReader/IAsyncStreamWriter, configures Interceptor for logging and auth, integrates with DI container. Uses Grpc.Net.ClientFactory for typed gRPC clients. |
| Backend Developer (Elixir) | 必要 | Develops gRPC services in Elixir: implements gRPC servers through grpc-elixir with streaming support, integrates with OTP supervision trees for fault tolerance. Uses GenServer patterns for stateful gRPC processing and configures Telemetry for metrics. |
| Backend Developer (Go) | 必要 | Confidently develops gRPC services in Go: implements all RPC types (unary, server/client/bidirectional streaming), configures interceptors for tracing and metrics, uses metadata for context propagation. Applies grpc-middleware for standard cross-cutting concerns. |
| Backend Developer (Java/Kotlin) | 必要 | Develops gRPC services in Java/Kotlin: implements streaming RPC, configures ServerInterceptor for authentication and tracing, integrates with Spring Boot via grpc-spring-boot-starter. Uses async stub with ListenableFuture for non-blocking calls. |
| Backend Developer (Node.js) | 必要 | Develops gRPC services on Node.js: implements streaming RPC, integrates with NestJS via @grpc/grpc-js, configures metadata for auth tokens and trace context. Uses ts-proto or protobuf-ts for type-safe TypeScript code generation from .proto. |
| Backend Developer (PHP) | 必要 | Integrates PHP applications with gRPC services: generates PHP clients from .proto via protoc, configures channel credentials for TLS, handles errors through Status codes. Uses Spiral/RoadRunner for implementing gRPC servers in PHP without FPM limitations. |
| Backend Developer (Python) | 必要 | Develops gRPC services in Python with grpcio/grpcio-tools: designs .proto files, implements server-side and client-side streaming, configures interceptors for logging and authentication. Integrates gRPC with asyncio for non-blocking request processing. |
| Backend Developer (Rust) | 必要 | Develops gRPC services in Rust with tonic: implements streaming RPC with tokio-stream, configures Tower middleware for interceptors, uses tonic-health for health checking. Applies Rust type system for compile-time guarantees of correct gRPC interactions. |
| Backend Developer (Scala) | 必要 | Develops gRPC services in Scala: uses Akka gRPC or ZIO gRPC for implementing services with streaming, integrates with Akka Streams for backpressure-aware processing. Configures ScalaPB transformations for customizing generated code. |
| 角色 | 必要性 | 描述 |
|---|---|---|
| Backend Developer (C#/.NET) | 必要 | Designs gRPC architecture for .NET microservices: configures gRPC-JSON transcoding for REST compatibility, implements health checks via Grpc.HealthCheck, optimizes through HTTP/2 connection management. Integrates with OpenTelemetry.Instrumentation.GrpcNetClient for distributed tracing. |
| Backend Developer (Elixir) | 必要 | Designs gRPC integration for Elixir systems: uses BEAM distribution for internal communication and gRPC for cross-language interaction, configures connection management considering BEAM scheduler, implements deadline propagation through process metadata. Optimizes for high concurrency. |
| Backend Developer (Go) | 必要 | Designs high-load gRPC services in Go: optimizes through connection multiplexing, configures client-side load balancing (round-robin, weighted), implements graceful shutdown with drain period. Integrates gRPC with OpenTelemetry for distributed tracing and configures TLS/mTLS. |
| Backend Developer (Java/Kotlin) | 必要 | Designs gRPC architecture for Java microservices: configures deadline propagation via Context, implements retry policies with exponential backoff, integrates with Micrometer for metrics and Brave/OpenTelemetry for tracing. Optimizes Netty transport for high loads. |
| Backend Developer (Node.js) | 必要 | Designs gRPC architecture for Node.js services: configures gRPC-Web via Envoy proxy for browser clients, implements middleware chains for observability, optimizes event loop for high-load streaming scenarios. Integrates gRPC with existing Express/Fastify API via dual-protocol servers. |
| Backend Developer (PHP) | 必要 | Designs gRPC integration for PHP systems: determines which services to implement as gRPC servers (Spiral/RoadRunner) vs gRPC clients, configures retry logic and deadline propagation, integrates with OpenTelemetry for end-to-end tracing. Optimizes performance through persistent connections. |
| Backend Developer (Python) | 必要 | Designs gRPC API for microservice architecture: defines proto file versioning strategy, configures gRPC-gateway for REST compatibility, implements health-checking and graceful shutdown. Optimizes performance through connection pooling and keepalive parameters. |
| Backend Developer (Rust) | 必要 | Designs high-performance gRPC services in Rust: optimizes through custom allocators and zero-copy deserialization, configures TLS through rustls, implements connection pooling with Tower balance. Benchmarks and profiles gRPC services for maximum throughput. |
| Backend Developer (Scala) | 必要 | Designs gRPC architecture for Scala microservices: integrates with Akka Cluster for distributed gRPC services, implements service discovery through Akka Discovery, configures gRPC with Kamon/OpenTelemetry for observability. Optimizes production gRPC server configuration on Akka HTTP. |
| 角色 | 必要性 | 描述 |
|---|---|---|
| Backend Developer (C#/.NET) | 必要 | Standardizes gRPC in .NET ecosystem: creates NuGet packages with base interceptors and configuration, implements source generators to reduce boilerplate, designs gRPC integration with MassTransit/NServiceBus for hybrid communication. Defines gRPC service testing strategy. |
| Backend Developer (Elixir) | Standardizes gRPC in the Elixir ecosystem: defines when to use gRPC vs BEAM distribution vs Phoenix Channels, creates internal wrapper libraries for simplified gRPC development. Designs patterns for integrating gRPC with GenStage/Broadway for data pipeline processing. | |
| Backend Developer (Go) | 必要 | Defines gRPC communication architecture for Go microservices: standardizes error model via google.rpc.Status, designs backward/forward compatibility strategy for proto schemas, implements gRPC reflection for debugging. Develops internal frameworks on top of gRPC for service unification. |
| Backend Developer (Java/Kotlin) | 必要 | Standardizes gRPC development in the company's Java ecosystem: creates code-generation plugins for uniform services, implements proto-lint in CI/CD, designs patterns for gRPC integration with Kafka and Spring Cloud. Trains teams on gRPC API design best practices. |
| Backend Developer (Node.js) | 必要 | Standardizes gRPC development in Node.js ecosystem: creates service templates with built-in interceptors, defines proto-first development strategy with automatic TypeScript SDK generation for clients. Designs error handling and retry patterns for Node.js-specific constraints. |
| Backend Developer (PHP) | Leads gRPC adoption in the company's PHP ecosystem: defines gradual migration strategy from REST to gRPC for internal communications, standardizes PHP client generation in CI/CD, designs compatibility with existing API Gateway. Trains PHP developers on protobuf and gRPC. | |
| Backend Developer (Python) | 必要 | Defines gRPC communication standards in the organization: selects proto contract management strategy (Buf, proto-lint), implements service mesh integration with Envoy/Istio for gRPC traffic, designs retry/deadline propagation patterns. Trains teams on proper gRPC API design. |
| Backend Developer (Rust) | 必要 | Defines gRPC architecture for Rust ecosystem: creates procedural macros to simplify gRPC service implementation, designs integration with async runtime (tokio/async-std), standardizes error handling through thiserror and custom Status codes. Mentors team on idiomatic Rust for gRPC. |
| Backend Developer (Scala) | 必要 | Standardizes gRPC development in Scala ecosystem: chooses between Akka gRPC, ZIO gRPC and fs2-grpc for different teams, creates sbt plugins for standardizing proto generation, designs patterns for functional error handling in gRPC. Defines testing strategy with akka-grpc-testkit. |
| 角色 | 必要性 | 描述 |
|---|---|---|
| Backend Developer (C#/.NET) | Shapes .NET platform communication strategy: defines dual-protocol (gRPC + REST) server architecture, designs Azure/AWS service mesh integration for gRPC, develops code-first vs proto-first approach for different scenarios. Influences .NET gRPC development in open-source community. | |
| Backend Developer (Elixir) | Shapes communication strategy for the Elixir platform: defines polyglot interaction architecture through gRPC between Elixir and Go/Rust/Python services, designs patterns for migrating legacy REST API to gRPC. Contributes to grpc-elixir and protobuf-elixir development. | |
| Backend Developer (Go) | Shapes infrastructure-wide gRPC strategy: designs gRPC integration with service mesh (Istio, Linkerd), defines cross-language communication patterns, develops monolith-to-gRPC-microservices migration strategy. Contributes to open-source Go gRPC ecosystem development. | |
| Backend Developer (Java/Kotlin) | Defines enterprise-level gRPC communication strategy: designs API Gateway integration (Kong, Envoy) for gRPC transcoding, develops platform for managing proto contracts with versioning and dependency tracking. Influences transport protocol choices in hybrid cloud architecture context. | |
| Backend Developer (Node.js) | Defines communication protocol strategy for Node.js platform: designs architecture for hybrid REST/gRPC/WebSocket API, develops internal platform for automating gRPC service lifecycle. Influences architectural decisions on scaling Node.js gRPC in cluster mode. | |
| Backend Developer (PHP) | Shapes transport protocol strategy for hybrid PHP systems: defines gRPC vs REST vs GraphQL applicability boundaries in PHP context, designs architecture for gradual service extraction from PHP monolith with gRPC communication. Influences PHP gRPC ecosystem development. | |
| Backend Developer (Python) | Shapes inter-service communication strategy at platform level: defines when to use gRPC vs REST vs async messaging, designs infrastructure for proto-registry and multi-language client auto-generation. Influences architectural decisions on introducing gRPC to legacy systems with minimal disruption. | |
| Backend Developer (Rust) | Shapes strategy for using Rust in critical gRPC services: defines when Rust is justified vs Go/C++ for gRPC, designs FFI integration for calling Rust gRPC services from other languages. Contributes to tonic/prost ecosystem and influences gRPC development in the Rust community. | |
| Backend Developer (Scala) | Shapes gRPC strategy for functional Scala systems: designs architecture for polyglot gRPC communication between Scala and other JVM/non-JVM languages, defines approach to schema evolution for long-lived protocols. Contributes to Scala gRPC ecosystem development (ScalaPB, Akka gRPC). |