Hello Carl, Thanks for the reply.
Actually I was looking for some thing like https://github.com/Netflix/Hystrix. However Hystrix is specific to Java and it does not support streaming APIs. I want to know whether there is any inbuilt mechanism in gRPC to handle this irrespective of the language of the client stubs. Example ------------- Lets say I have two mircro-services deployed separately. TaxService (Go) and PricingService (Java), which PricingService depends on TaxService. service PricingService { rpc getPrice (PricingRequest) returns (PricingResponse) {} } message PricingRequest { string productId = 1; } message PricingResponse { double price = 1; double tax = 2; } I will call TaxService to get the tax amount when calculating the price. However if TaxService is not available I want a fallback mechanism in the client side (ie within PricingService implementation). Basically I should be able to set something like a fallback handler in the TaxServiceClient stub for the getTax method. If there are too much fallbacks happening then client will automatically break the circuit between PricingService and TaxService for some time to prevent escalating failures. Best Regards Pamb On Wednesday, June 22, 2016 at 10:09:46 PM UTC+5:30, Carl Mastrangelo wrote: > > Not currently, assuming you are talking about running out of memory. Our > servers/ services tend to have hard memory limits that are preallocated on > start up and are never broken. If a server is running out of memory, the > solution is to just spin up more servers. > > That said, grpc Java tries to avoid memory allocation and usage, so the > overhead for the library is pretty small. You can implement your own > marshaller using SoftReferences if you would like. There is an advanced > example showing how to write your own marshaller here > <https://github.com/grpc/grpc-java/blob/d9d4d8b70f68dce0a0ee4e3d93acee82f5153d54/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java#L80>. > > Be warned that this is pretty advanced and you shouldn't use it until you > really need to. > > On Monday, June 20, 2016 at 2:36:53 AM UTC-7, Lasantha wrote: >> >> Hi, >> >> Is there any in-build feature in gRPC java client to handle circuit >> breaking ? >> >> Best Regards, >> Pamb >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/c7a6b097-fef5-481f-a496-27519860fe12%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
