For the aggregation services, I was thinking of going with Java (only 
because I'm most familiar using Java for bigger projects) - but I'm still 
very open to language changes at this point. I read somewhere that this can 
be achieved using C# (Or C++, I don't remember which). Do you have any 
suggestions?

On Wednesday, September 23, 2020 at 8:51:21 PM UTC+2 Michael Lumish wrote:

> What you are describing is a normal thing to do with gRPC, using either 
> unary or streaming methods. Each of those operations is independent and can 
> be started independently, and then when they finish you can aggregate the 
> results. The exact way to do this depends on what features the specific 
> programming language has for handling asynchronous operations. What 
> language do you expect to do this in?
>
> On Mon, Sep 21, 2020 at 5:54 AM Nicholas Bunn <[email protected]> 
> wrote:
>
>> Hi there, I'm developing an application which will aggregate information 
>> from various services and return it to the client. The system will be 
>> distributed and I'd like to implement asynchronous communication where 
>> possible to avoid lengthy processes stalling the system. 
>>
>> I think I understand the "asynchronous" implementation of gRPC in terms 
>> of streaming, where it's asynchronous considering that you don't 
>> necessarily wait for the invoked service to complete its process before 
>> getting a response. I'm looking for the non-blocking aspects of 
>> asynchronous communication, so considering the explanation below - I hope 
>> someone can provide some insight for me.
>>
>> Say there exists some aggregating service and four other services from 
>> which it will be collecting information (services A, B, C, and D). With 
>> standard synchronous calls, the aggregating service would have to query 
>> service A, wait for a response, then query service B, wait for a response, 
>> and so on. What I am looking for is a way to query all four services in 
>> parallel and wait for a callback or notification from each one once they 
>> have completed their process, and their information is available. Would one 
>> be able to achieve this with streaming? Or is the client still limited to 
>> communication with one server at a time (essentially implementing a 
>> blocking call)?
>>
>> Any assistance/insight would be greatly appreciated!
>>
>> Thanks,
>> Nic
>>
>> -- 
>> 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 view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/bc93f296-f129-4f23-a4a7-d76e820d28a5n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/bc93f296-f129-4f23-a4a7-d76e820d28a5n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/6a05d9b5-555e-4f91-be94-ebea05dd8c94n%40googlegroups.com.

Reply via email to