...
In the existing architecure, Polyglot is a server, while a SS is also a server. both Polyglot and SS are servers. Polyglot-SS communication mainly occurs at SS registration, SS heartbeat, SS checking in converted files, and Polyglot redirecting file-getting requests to a SS.
- SS Registration and heartbeat.
Refer to the development notes at the "Polyglot / SoftwareServer Documentation" page, POL goes to RabbitMQ, gets the consumer IPs as the SSes, connects to the URL "<ip>:8182/applications". If the URL is accessible and contains valid content, Polyglot adds the IP to its server list.
SS supports many REST endpoints. PolyglotStewardAMQ uses the following SS endpoints:
...
The following Polyglot REST endpoints in PolyglotRestlet.java accesses/redirects to SS:.
- /file/<file1>
- servers/<server_ip1>[/...]
- software/<sw1>[/...]
...
- SS registration with polyglot.
- Add 1 exchange/queue for SS registration with polyglot.
Set its TTL to say 5 secs, so msgs are discarded in such time. - SS publishes msgs to this queue, regarding aliveness, and conversion capabilities.
- Add 1 exchange/queue for SS registration with polyglot.
In "checkin", SS uploads the converted file – instead of sending only the URL – and Polyglot saves it, instead of creating a "<file>.url" file.
- SS heartbeat with polyglot.
What need to be added or changed:
...