This folder provides the API Gateway implementation responsible for enabling the communication between the client and third-party software with the microservices.
graph TD
subgraph third-party
ssl-vision
autorefs
game-controller
end
ssl-vision --> gateway
autorefs --> gateway
game-controller --> gateway
gateway <--> microservices
gateway <--> clients
It deals with gRPC requests from the clients and is the entry point for the UDP multicast messages generated by the official competition software systems.
For unary gRPC requests related to game replay, it creates a client-server communication with the playback-ms using ZMQ_DEALER socket.
For handling gRPC stream related to the game live, it has a ZMQ_SUB socket subscribed in the queue of messages generated by the playback-ms.
Finally, for the messages generated by the official competition software systems, it has a ZMQ_PUB socket responsible for publishing the received messages with specific topics, allowing all subscribed microservices to receive them.