Thanks a lot for your answer.
Explaining better:
- The RPi devices actions are inter-dependent and will be coordinated by the PC. e.g. dev2 will act only after dev1 replies.
- Independent parallel requests can also happen. e.g. dev1 and dev2 will act independently.
- The subsequent requests can depend on the reply. e.g. If request to dev1 is OK, send request to dev2. If not OK, abort.
- It should be "fast enough" to substitute a native application, where logic and code execution runs in the same device. Nothing like real-time is required tough. Anything around 10 ms ~ 100 ms should be enough.
I guess the publish-subscribe system alternative should not apply in this case. But the streaming looks like a good option! Thanks for pointing that.
I'm thinking on the following:
- On the PC side I have many coordinated gRPC clients;
- Each device (RPi) will have a server;
- Client1 send requests to Server1;
- Client2 send requests to Server2 etc.
Please let me know your thoughts about it.
Best Regards
Fabiano