mirror of https://github.com/grpc/grpc-node.git
2.3 KiB
2.3 KiB
Feature comparison of grpc and @grpc/grpc-js packages
| Feature | grpc |
@grpc/grpc-js |
|---|---|---|
| Client | ✔️ | ✔️ |
| Server | ✔️ | ✔️ |
| Unary RPCs | ✔️ | ✔️ |
| Streaming RPCs | ✔️ | ✔️ |
| Deadlines | ✔️ | ✔️ |
| Cancellation | ✔️ | ✔️ |
| Automatic Reconnection | ✔️ | ✔️ |
| Per-message Compression | ✔️ | only for response messages |
| Channel State | ✔️ | ✔️ |
| JWT Access and Service Account Credentials | provided by the Google Auth Library | provided by the Google Auth Library |
| Interceptors | ✔️ | ✔️ |
| Connection Keepalives | ✔️ | ✔️ |
| HTTP Connect Support | ✔️ | ✔️ |
| Retries | ✔️ | ❌ |
| Stats/tracing/monitoring | ✔️ | ❌ |
| Load Balancing | ✔️ | Pick first and round robin |
| Initial Metadata Options | ✔️ | only waitForReady |
| Other Properties | grpc |
@grpc/grpc-js |
|---|---|---|
| Pure JavaScript Code | ❌ | ✔️ |
| Supported Node Versions | >= 4 | ^8.13.0 or >=10.10.0 |
| Supported Electron Versions | All | >= 3 |
| Supported Platforms | Linux, Windows, MacOS | All |
| Supported Architectures | x86, x86-64, ARM7+ | All |
In addition, all channel arguments defined in this header file are handled by the grpc library. Of those, the following are handled by the @grpc/grpc-js library:
grpc.ssl_target_name_overridegrpc.primary_user_agentgrpc.secondary_user_agentgrpc.default_authoritygrpc.keepalive_time_msgrpc.keepalive_timeout_msgrpc.keepalive_permit_without_callsgrpc.service_configgrpc.max_concurrent_streamsgrpc.initial_reconnect_backoff_msgrpc.max_reconnect_backoff_msgrpc.use_local_subchannel_poolgrpc.max_send_message_lengthgrpc.max_receive_message_lengthgrpc.enable_http_proxychannelOverridechannelFactoryOverride