8.3.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

See REST API: Status of Batch

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

-