You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Arnab Ganguly <ag...@gmail.com> on 2011/03/30 06:36:01 UTC

Need information about Apache module development.

Dear All,

We are planning for an enhancement of our servers.We are looking out if we
write Apache module and use Apache to support the below requirements.



We would like to use Apache as a routing layer that accepts both structured
documents (XML docs) also some other predefined data blocks in addition to
key/value paris via http and then routes those transactions based on a key
available in the request such that the required keys and sub keys are all
routed to the same rules instance - this will require the original request
to be broadcast to multiple instances of the rules engine ( for example, one
instance may be tracking the IP, another instance may be tracking by GUID or
Screenname, and yet another may be tracking by some Signature.)



 A rules execution engine that is able to accept the request, evaluate a set
of ops defined rules and execute various responses. There are preference of
using DROOLS fusion.Any functionality in Apache based on Rules ?


What are the approaches need to be taken for dynamic load balancing.Like
suppose I have 3 instances of Apache is running and due to some issue one of
the instance goes down.I would expect the traffic should be balanced
properly by the existing 2 instances.

For load balancing apart from mod_proxy_balancer any other Apache modules
can be worth looking into?



As and alert broadcast engine that has the ability to distribute an events
to multiple end sources.



As a  storage layer that allows for data persistence for long term tracking
of keys and values. We have the target of good performance.Is it going to be
good using Apache or any other webserver would be suggestion.


Inputs would be very much appreciated.


Many thanks in advance

-A

Re: Need information about Apache module development.

Posted by Mark Montague <ma...@catseye.org>.
dev@httpd.apache.org is for discussions related to development of httpd 
itself.  Your questions below are more appropriate for the Third Party 
Module Authors' List.  See http://httpd.apache.org/lists.html#modules-dev


> A rules execution engine that is able to accept the request, evaluate 
> a set of ops defined rules and execute various responses. There are 
> preference of using DROOLS fusion.Any functionality in Apache based on 
> Rules ?

Most Apache HTTP Server configuration directives can be thought of as 
rules.  But this is probably not very helpful.

Note that Drools is written in Java, while Apache HTTP Server is written 
in C.  If you want to use Drools, you may want to consider using a web 
server that is written in Java.


> What are the approaches need to be taken for dynamic load 
> balancing.Like suppose I have 3 instances of Apache is running and due 
> to some issue one of the instance goes down.I would expect the traffic 
> should be balanced properly by the existing 2 instances.

This will not happen unless you have a load balancer that is external to 
Apache HTTP Server.


> For load balancing apart from mod_proxy_balancer any other Apache 
> modules can be worth looking into?

mod_proxy_balancer runs on a front-end (proxy) server to balance 
requests that the front-end server receives between multiple back-end 
servers.  If one of the back-end servers goes down, the front-end server 
will detect this and split the traffic betweent the remaining back-end 
servers.   However, this may not be what you want.


> As and alert broadcast engine that has the ability to distribute an 
> events to multiple end sources.

Apache HTTP Server is not a broadcast engine.  This is functionality 
that you would have to write and include in your module.

> As a  storage layer that allows for data persistence for long term 
> tracking of keys and values. We have the target of good performance.Is 
> it going to be good using Apache or any other webserver would be 
> suggestion.

Apache HTTP Server is not a storage layer.  Apache HTTP Server just 
processes HTTP requests.  In order to process these requests, Apache 
HTTP Server normally serves files from some filesystem or other storage 
layer which is external to Apache HTTP Server itself.  (Normally, this 
would be some local filesystem such as ext3 or NTFS; but it could also 
be a remote or distributed filesystem such as NFS, CIFS, or AFS.  In 
turn, the remote filesystem could be based on iSCSI, FibreChannel, or 
other technologies.)


> Inputs would be very much appreciated.
>
>
> Many thanks in advance

Good luck.

--
   Mark Montague
   mark@catseye.org