If you have a QlikView server and a Publisher licenses, they are always for both a single machine as well as for a dual machine installation. I do not entirely understand how the "Cluster" option features in your story. Do you have a clustered QVS and a clustered Publisher license? In that case you should use at least 4 machines for load distribution.
QVS is the service that is servicing documents to end-users. That's the one that eats memory like candy. The QVWS service doesn't do much except for displaying the AP landing page and tunnelling.
Where you host the QVWs (on disk) is not important; you can either put the files on B1, on B2 or on an external Windows file share. Performance-wise I would say, put them in a Windows share on the Publisher machine (publication is quicker). And let the QVS service load them across the network. But since your users seem to be 100km from the Publisher machine, you may want to put the share on the QVS machine so that the Publisher may take longer to update a particular QVW, but at least the refresh in memory by QVS will be quicker.
Put both QVWS and QVS on the same machine and closest to your end-users. Put the Publisher closest to your data sources.
You can still use Amit's suggested setup with this additional change: swap the installations = QVWS+QVS+QMS+DSC go on machine BI2, Publisher (optionally with QMS if you don't put that one on BI2) go to BI1.
If this is the LEF for QlikView server (Publisher has its own license and LEF), then it means that you can install two QVS on separate machines, and make them act like a single more powerful QVS. In total, you will have three Windows production machines: two to handle end-user requests (QVS1 and QVS2) and one to reload documents (Publisher)
"QVW will go to the RAM..." Indeed. Whenever an end-user requests access to a document in the AccessPoint, one of the QVS servers will load that document in RAM and send a first sheet to the end-user's browser. As long as that user keeps rummaging in that particular document, the QVW file will reamin loaded in RAM of that particular QVS.
But mind you: a Publisher machine also needs RAM to reload a particular document. For some documents, the required amount can be considerable. And a publisher will also need as many CPU cores as possible to execute a reload script. Those are the two main reasons why in an enterprise environment QVS and QDS services are almost always hosted on different machines.
ok we got 3 powerful machines Bi1, Bi2, and Bi3 each with 1 Tera of RAM
Bi1 will be located at IT department premises
Bi2, and Bi3 will be located at the end users premises which is 100 KM away from IT department premises
so I understand from you that I go on with the following installation:
on Bi1 I install the
Management Service so that we have the management console application to give licenses to users create tasks on QVW that create QVD files (it is the IT department who is responsible for assigning licenses to users)
Distribution Service to distribute QVWs to Bi2
and I apply the publisher license to Bi1
on Bi2 I install the
Qlikview server service
QlikView web server service
QlikView management service (so that I configure the nodes of the cluster)
on Bi2 I apply the QVS license which has the Cluster enabled
on Bi3 I install the QVS (BI3 will be used for load balancing)