Skip to content
Regunath B edited this page Jun 27, 2019 · 16 revisions

grpc-jexpress

Productivity extensions to grpc-java, called GJEX - for Grpc Java Express.

Provides the following list of features:

  • Transparent gRPC runtime startup alongwith Jetty for dashboard/administration
  • Guice module support to integrate gRPC service implementations with the gRPC runtime
  • Metrics support - e.g. @Timed annotations to publish to JMX
  • YAML based configuration support for gRPC service implementations
  • Component Lifecycle (Start(), Stop()) support via Service interface
  • Health Check - ability to add any number of deep Health Checks
  • Custom web resources for enabling Control Path, Administration actions
  • Filters - ability to add any number of Filters to gRPC stub method implementations
  • Validation - using Hibernate Validator
  • Distributed Tracing - using opentracing and the openzipkin implementation
  • Concurrent execution, Circuit breaking using Hystrix and Dispatch-Compose through a FutureDecorator API
  • Deadlining for APIs - ability to specify execution timeouts for gRPC stubs at service end
  • Task/Upstream request retries using Hedged Requests as described here
  • Tool recommendations for testing

More details on example use and design are detailed in relevant pages of this wiki.