9.5.2. DNS load balancing
Using this method is logically similar to Layer 7 load-balancing.
Briefly how it works
Client uses a domain name to send a query to a server. Client's DNS server has more "A" records for that name with different IPs. When a client resolves the server's domain name DNS server randomly chooses an IP for that name to send back. When a session is used on the application layer, client should know the IP address of the Core server that handles that specific session. In every other case, client should resolve the domain name with DNS query to let requests to be balanced between Metadefender Core servers.
Single file scanning
Steps
No. |
Stage |
Task |
Addressing |
1. |
Choose a Core server by using DNS load balancing |
Resolve the Core servers' common domain name. |
Use domain name |
2. |
Save the IP gotten from the DNS server. |
Save the IP |
|
3. |
Sending file |
Initiate processing a file on the client side. (See REST API: Scan A File) |
Use IP saved in step 2. |
4. |
Save the data_id got from the Core server |
- |
|
5. |
Getting result |
Request result related to data_id saved in step 2. (See REST API: Fetch Scan Result) |
Use IP saved in step 2. |
6. |
If processing is in progress (See REST API: Fetch Scan Result), wait a little while and repeat step 3. |
Use IP saved in step 2. |
Batch scanning
Steps
No. |
Stage |
Task |
Addressing |
1. |
Choose a Core server by using DNS load balancing |
Resolve the Core servers' common domain name. |
Use domain name |
2. |
Save the IP gotten from the DNS server. |
Save the IP |
|
3. |
Open batch |
Initiate processing file(s) in batch. Request a batch ID. (See REST API: Initiate Batch) |
Use IP saved in step 2. |
4. |
Sending files |
Send file to the specific Core server with the basch ID saved in step 3. (See REST API: Scan file in batch) |
Use IP saved in step 2. |
5. |
Save the data_id you got from the Core server. |
- |
|
6. |
Status/result of scanning of sent files can be queried: (See REST API: Fetch Scan Result) |
Use IP saved in step 2. |
|
7. |
Repeat step 3-4. with files wanted to be in the same batch. |
- |
|
8. |
Getting batch status |
Use IP saved in step 2. |
|
9. |
Close batch |
Tell the server that no more files will be sent to this batch. (See REST API: Close Batch). (This will only be successful if all the files sent to the batch have been processed already. Repeat this step until batch is closed.) |
Use IP saved in step 2. |
10. |
Getting results |
Request results related to batch ID saved in step 2. (See REST API: Download Batch Signed Result). |
Use IP saved in step 2. |
Limitations, additional notes
Using load-balancing between Metadefender Core servers does not support:
-
Global scan history
-
Core server administration via DNS load-balancing
OPSWAT products that support DNS load balanced Metadefender Cores
Product name |
Minimum version |
Further information |
MetaDefender Kiosk |
does not support yet |
- |
MetaDefender Client |
does not support yet |
- |
MetaDefender Email Security |
does not support yet |
- |
MetaDefender ICAP Server |
does not support yet |
- |
MetaDefender Vault |
does not support yet |
- |