RTC Forums
May 15, 2024, 06:28:50 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Pls explain the purpose and function of TrtcDataRouter and TrtcLoadBalancer?  (Read 3972 times)
sunstone
RTC License++
*****
Posts: 16


« on: February 18, 2011, 08:37:19 AM »

Dear,

1)I don't know which situation to use the TrtcDataRouter and TrtcLoadBalancer?
2)Functions and difference of your demo LoadBalancer & LoadBalancer2 & LoadBalancer3 & Router & Router2 ?
3)If I have lots of clients,about ten thousand. How to solve lots of accesses ? Use your TrtcLoadBalancer or TrtcDataRouter ?

BEST REGARDS
SUNSTONE
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: February 18, 2011, 09:31:33 AM »

1) TRtcDataRouter and TRtcLoadBalancer components can be used for writing a HTTP/S Router, Proxy Server, Reverse Proxy Server or Load Balancer.

2a) Router and Router2 Projects are examples of using the TRtcDataRouter component to transparently route incoming HTTP requests to a HTTP Server. Each Project uses a different approach, but both Projects basically have the same purpose. Accept incoming requests, forward them to a specified Server, wait for a response on each request and return each response to the Client which sent the Request.

2b) LoadBalancer Project is an example of using the TRtcDataRouter component to write a rather simple Load Balancer, which can balance load between HTTP Servers running the same application. LoadBalancer2 Project basically does the same, but uses the TRtcLoadBalancert component instead.

2c) LoadBalancer3 Project is an example of using the TRtcLoadBalancer component for writing a more sophisticated Load Balancer, which can balance the load of several virtual applications between several Servers.

3) If a single Server can NOT handle the load of all your Clients, you can either use one of the commercial HTTP/S Load Balancer solutions available on the market, or ... you can use TRtcDataRouter or TRtcLoadBalancer components (or customize one of the LoadBalancer Projects) from the RTC SDK to write a Load Balancer tailored to your specific application.

TRtcDataRouter and TRtcLoadBalancer components documentation (with explanation of all component properties and methods) is included in the RTC SDK HELP file, provided in the RTC SDK package. The same is also available in the source code implementing these components.

Best Regards,
Danijel Tkalcec
Logged
sunstone
RTC License++
*****
Posts: 16


« Reply #2 on: February 18, 2011, 03:56:19 PM »

Thanks your help quickly.

If only one loadBalancer transports all the datas from all clients, this loadBalancer will has huge load.
I think that the loadBalancer can not carry so huge load. The problem is still not solved.

I have one method. I want to get advice from you.

There are many servers,like S1,S2,S3...Sn . All the servers notice one controller program their own connections. When a client requests the controller program, the controller program will find which server has the less connections, and then the controller program return this server's IP and Port to the client. This Client will reconnect the Server.

I think this method can carry huge load from lots of clients.

What 's you opinion about this method?

Best regrds,
SUNSTONE
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #3 on: February 18, 2011, 06:35:55 PM »

What you are suggesting is also a sort of load-balancing, but it uses redirection instead of transparent request forwarding. Redirection has the advantage of skipping "a middle man" for all further requests except for the 1st one which decides where each Client should connect to, but for this kind of load balancing to work, all your Servers need to be directly accessible from all your Clients. With transparent request forwarding, this isn't the case because all your Servers can be running inside LAN visible only to the Load Balancer.

The purpose of a Load Balancer is to spread CPU and Memory Load on multiple Servers. Since a Load Balancer does not do anything more than forward requests and responses, it will have a lot less "to do" than any Server and can thus handle a lot more clients than a normal Server would. The simplest Load Balancer will use 2 Servers, each running on a separate machine, to double the amount of CPU and memory available to Clients.

PS. For very high loads, there are hardware Load Balancers which work just like routers. If you think a software load balancer won't be able to handle the load from all your Clients and you don't have the luxury of making all your Servers directly accessible over the internet (or don't want to do that), you should check hardware solutions for HTTP/S Load Balancing.

Best Regards,
Danijel Tkalcec
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.023 seconds with 17 queries.