Is it possible to implement job workers/clients to integrate with the Zebee process engine using REST interfaces rather than gRPC protocol? If this provision is not there in the current version of the Camunda 8, will this be enabled in any of the future versions of Camunda 8?
Hi @KiranBee,
Great question! Yes, it is now possible to implement job workers/clients to integrate with Zeebe using REST interfaces instead of gRPC protocol.
Current Status
Camunda 8 is actively transitioning from a gRPC-centric API to a unified REST API. This transition is happening in phases, and many gRPC endpoints have already been migrated to REST, including the process management endpoints needed for job activation and completion.
Key Points:
REST API Available: You can now use HTTP/1.1 or HTTP/2 for communication with Zeebe, not just the HTTP/2 required by gRPC.
Easier Integration: The REST API reduces the learning curve and makes integration simpler, especially for organizations that have constraints with gRPC protocols.
SDK Support: Official SDKs are being updated to support both protocols, making migration easier.
Important Considerations
Performance Trade-offs: While REST is easier to use and more widely supported, it may introduce some overhead compared to gRPC, especially in high-throughput or low-latency scenarios. Recent performance testing has shown that REST API can have lower performance under heavy load compared to gRPC.
gRPC Still Supported: Despite REST becoming the default, gRPC will continue to be supported for advanced and high-performance use cases. In self-managed clusters, gRPC will be disabled by default starting with version 8.10, but can be enabled as needed.
Future Roadmap
The REST API development is ongoing and will continue to expand. Camunda is committed to providing both REST and gRPC options to meet different use case requirements.
For high-performance scenarios, gRPC remains the recommended approach, but for most standard integrations, the REST API should work well.
References:
Would you like specific guidance on implementing job workers using the REST API, or do you have questions about performance considerations for your use case?