In the following diagram, the tictacqt client (shown in blue) makes a random connection to one of the three msgqueue
servers (in this case msgqueue1). There is also a PUB/SUB broadcast server connection that is made, to observe games and
retrieve moves that are played.
Finally, a backend server called the routerdealer or rd for short handles the majority of the commands. It is also the
primary means through which messages are broadcast out to all the clients, by sending messages to the pubsub_freetier.
The purpose of the msgqueue instances is that they contain an additional SendMsg command, which can send a message
directly to another tictacqt instance that is connected to it.
The broadcast service will send out a heartbeat message every 2 seconds. Clients can reconnect if too much time has
elapsed, between heartbeat messages.
These response time graphs show the result of a ping request, through the ZeroMQ protocol, via the msgqueue instances.
The request reaches a msgqueue instance, then traverses as a new request to the routerdealer, resulting in a response that is
passed back. Samples are made every minute.
15min
Hour
4-Hour
Day
This next set of response graphs bypass the msgqueue instances and just communicate directly with the routerdealer. The
response times in comparison can be measured to be slightly quicker, since there is one less round trip.
15min
Hour
4-Hour
Day
This is the pubsub broadcaster response time, in microseconds. Samples are made every minute. The test consists of picking
up the next available heartbeat message from the service.
15min
Hour
4-Hour
Day
Running tests against the msgqueue infrastructure
PASS PING
PASS GenerateGame
PASS SetGameType 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 TicTacToe
PASS PlayMove 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 1 X .../.../... 1 X
Running tests directly to the routerdealer
PASS PING
PASS GenerateGame
PASS SetGameType 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 TicTacToe
PASS PlayMove 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 1 X .../.../... 1 X
Information from the sqlite3 databases.
Game Count
2624
Move Count
2890
Copyright © 2021 Pay Chess LLC |