Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
m_perreault
Creator III
Creator III

Load Balancing Consumer Nodes

Hi All,

 

If I have two consumer Rim Nodes are they able to share a URL or must they have two unique URL's (Prefix).  My ideal state is having one URL for users to Navigate to and when they open App A it uses the Engine on Rim Node 1 and when they open App B it uses the Engine on Rim Node 2.  Sending users to different URLs for different apps becomes confusing.

 

Thanks,
Mark

Labels (2)
1 Solution

Accepted Solutions
Bastien_Laugiero

Hello Mark,

You are correct. The central node is the only node that needs to have access to every application and this is controlled by the rule called ResourcesOnCentralNode which cannot be changed as you have mentioned.

In such case, you will need a 2nd Engine node I believe. 

Having a 3 nodes setup could have some benefits such as separating the Scheduler/Engine services (reload task) to the Engines linked to your virtual proxy serving the hub so that the reload task won't consume resources on the nodes the users are connected to. 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.

View solution in original post

30 Replies
Bastien_Laugiero

Hello, 

You can set up a single Virtual Proxy with your two Engines load balanced and make specific apps available only on a specific engine. 

To do that you will need to modify the Load Balancing rule under QMC -> Load Balancing rules. 

The one called ResourcesOnNonCentralNodes will make all your applications (except monitoring apps) available on all the engine nodes.

So you will likely need to disable this rule and create a new one(s) so that you can make AppA available on Engine A and AppB available on Engine B.

You can build your load balancing rule using Custom Properties and here is an example

This will allow you to have a single URL but force specific engine(s) to load specific App(s)

Hope this helps. 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
m_perreault
Creator III
Creator III
Author

Hi Bastien,

Thanks for your reply.  Will this work if I am trying to balance between the Central Node and one Rim Node using one URL?

 

I have set up the Central Virtual Proxy to have two load balancing nodes (Central and Rim Node 1)

image.png

 

Then created a Custom Property for Departments = Sales and assigned this Custom Property to the Sales Stream and the Rim Node and created the below Load Balancing rule.

image.png

 

However when I got to the stream and open the app, the CPU is being used on the Central Node opposed to the Rim Node.  I am wondering if this is because of the default Load Balancing Rule ResourcesOnCentralNode, which cannot be changed.

 

Thanks,
Mark

 

Bastien_Laugiero

Hello Mark,

You are correct. The central node is the only node that needs to have access to every application and this is controlled by the rule called ResourcesOnCentralNode which cannot be changed as you have mentioned.

In such case, you will need a 2nd Engine node I believe. 

Having a 3 nodes setup could have some benefits such as separating the Scheduler/Engine services (reload task) to the Engines linked to your virtual proxy serving the hub so that the reload task won't consume resources on the nodes the users are connected to. 

Bastien Laugiero
If a post helps to resolve your issue, please mark the appropriate replies as CORRECT.
rohitk1609
Master
Master

Hi Bastien,
you may use Network load balancer which will have a common url lets say https://yourfirmname/hub and this NLB redirect users to any of the node and when user will open the app it will consume the resources i.e CPU or RAM depends on your virtual proxy load balancing setting.

you can try to bring all your users on RIM node 1 only as https://RIMNode1/hub and set both your rim nodes in load balancing. So by round robin algo , app consumption will be happened on any of your best available rim node.

and your can set your central node scheduler as Master and Slave so your reload task consumes resources on central node while your rim nodes are getting consumed by user in app consumption

For any help please drop an comment on :
https://community.qlik.com/t5/Qlik-Sense-Enterprise-Documents/Best-Practices-for-Qlik-Sense-Multi-No...
Thanks,
Rohit
sujay
Contributor II
Contributor II

Hi All,

 

Can someone please help us as it is on our production server. We have Nework load balancer created between 2 RIM node and when we try to access the lb link. it is not loading. 

 

Can someone please help us what setting tthat needs to be changed on QMC

 

 

Thanks

Sujay

sujay
Contributor II
Contributor II

Hi 

 

Could you please help me on the load balancing as we have LB created between 2 RIM and we got 1 URL but unable to accesss. port  (80)also opened as we are using http.

 

anything needs to be changed on QMC. please let us know .

 

Appreciate your help.

rohitk1609
Master
Master

Add the network load baalncer mapped URL to white host in virtual proxy

sujay
Contributor II
Contributor II

Thanks for the reply Rohit, 

 

I have added lb name under the whitelist on both the server but it was not opening but if we add the lb name as a prefix on both the RIM node then it opens but it throws 404 error.

however i tried with the url name under whitelist. do you think we need to add ip of the lb instend of lb or is it required to add lb on both RIM node or center node ? 

please let me know if i need to change anything .

appreciate your help .

sujay
Contributor II
Contributor II

Hi Rohit/All,

Could someone please help us to configure as we got stuck here and really need your help on it.

 

Thanks