DC-Apache stands for Distributed Cooperative Apache Web Server. It is a scalable web server solution to meet the explosion of data traffic on World Wide Web. DC-Apache module is implemented using the API and the module interface provided by Apache. Using DC-Apache module, it is very simple to set up several Apache servers to work together and build a scalable distributed web server system.
In the version 1.0, it uses pool of process model and it is extensively tested for Apache Web Server 1.3.6 on Linux platform. In the future, a version using multithreaded model will be available with Apache 2.0.
Installation and compilation
The DC-Apache module can be downloaded here.
Steps to install and compile:
./configure --activate-module=src/modules/dca/libdca.a \
The DC-Apache module gets its configuration information from the Apache's configuration file. The DC-Apache module introduced three new directives: ExportPath, ImportPath, Backend and DiskQuota.
ExportPath is used to tell the DC-Apache module which directory will be exported among the co-op servers. The files in this directory will be replicated or migrated. The DC-Apache module will build the local document graph from all documents in this directory and its sub-directories.
ImportPath tells the server where to store the replicated documents. The co-op server need to store in this directory the replicated documents it gets from the home server.
Backend indicates the co-op server's address. This information is used for home server to contact co-op servers and to replicate document to them.
In order to limit the usage of co-op server's disk space, there is a directive "DiskQuota" whose value is the disk space limit in bytes that can be used to hold the imported files. The default value is 10M Bytes.
SetHandler is also needed to specify that the requests for the documents under the "ExportPath" directory should be processed by DC-Apache module. This directive is a standard Apache run-time directive. The name of DC-Apache module's handler is "DCA-handler".
A typical part of configuration file for DC-Apache module is shown as follows:
# The directory to store the replicated files
# If this parameter is not set, a default path will be used
# The directory to be parsed and will be replicated
# Backend servers
# disk quota for imported file