faaskeeper icon indicating copy to clipboard operation
faaskeeper copied to clipboard

Indirect output communication

Open mcopik opened this issue 3 years ago • 1 comments

Our current communication between FK functions and clients relies on clients being able to listen on a TCP socket. Unfortunately, this requires clients to have a public IP and not behind a NAT.

An alternative solution would be to use a cloud queue. Clients perform long polling to read messages from writer, watch and heartbeat function.

  • [x] Allocate new SQS queue.
  • [x] Change distributor and watch functions to send notifications using the queue.
  • [ ] Change heartbeat function to use the queue to send messages and receive a reply.
  • [ ] Allocate dynamically SQS queues for new clients.
  • [x] Modify client libraries to read messages intended only for this client instead of reading TCP socket.

mcopik avatar May 27 '22 16:05 mcopik

@mcopik I think we have clientQueue . Do we need to create a new SQS queue ?

ziadhany avatar Apr 08 '23 01:04 ziadhany