InetSoft Reporting Software - Report Proxy Server
The architecture in InetSoft's reporting software allows users to adjust the report proxy server creating an adept system that is capable of handling large requests at a fast pace. View the example below to learn more about the Style Intelligence solution.
The proxy or load-balancer is a lightweight application (servlet) which forwards requests from clients to server nodes. The proxy reads its settings from a copy of the sree.properties file, which may be shared with the cluster nodes or may be stored independently. This is done in case the cluster is running outside the company firewall and cannot access a shared drive.
The proxy requires the following parameters to be defined in the sree.properties file. Each of these parameters may be defined through the Enterprise Manager.Note that these properties can also be set up as init parameters for the proxy servlet in the web.xml deployment file.
ATTRIBUTE NAME |
DESCRIPTION |
ALLOWED VALUES |
cluster.adm.url |
URL of the Enterprise Manager that is controlling the cluster |
Any valid URL |
cluster.servers.hosts |
A comma-separated list of the report server URLs for each reporting node |
Any entry in the format of hostname:port |
cluster.loadbalance.algorithm |
Specifies the load-balancing algorithm which the cluster will use |
roundRobin
or
load |
log.output.file |
Specifies the file path to the proxy's log file |
Any valid file path |
log.detail.level |
Sets the granularity of the log messages |
Number specifying the logging level, as follows: 0=trace, 1=debug, 2=info, 3=warning, 4=error. |
For example:
cluster.adm.url=http\://springfield\:8080/sree/EnterpriseManager
cluster.servers.hosts=springfield\:8080,princeton\:8080
luster.loadbalance.algorithm=roundRobin
log.detail.level=0
ClusterServlet Class
The proxy server requires the inetsoft.sree.web.ClusterServlet class to be running in a web application. The etools.jar file and product jar (sree_pro.jar, visual_pro.jar, or bisuite_pro.jar) files must be placed in the WEB-INF/lib directory. A web.xml file, such as the following, should be created.
<servlet>
<servlet-name>ClusterLoadBalancer</servlet-name>
<servlet-class>inetsoft.sree.web.ClusterServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ClusterLoadBalancer </servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
It is recommended that the proxy servlet (inetsoft.sree.web.ClusterServlet) is the only servlet deployed on its web server so that the process is lightweight and not prone to failures from other applications within the same web server.
The proxy implements two load balancing algorithms; a simple round robin algorithm, and a load-based algorithm which always assigns the client request to the least loaded (CPU load) server node.
The proxy continuously monitors the status of the server nodes at an interval of forty seconds. If a node goes down, the proxy detects the failure, removes the node from the node list, and stops forwarding requests to it. On recovery, the node is detected once again, and assigned new requests. The proxy keeps track of sessions so that once a request is forwarded to a node, all subsequent requests from the same client will be forwarded to the same node.
|
View a 2-minute demonstration of InetSoft's easy, agile, and robust BI software. |