I propose the creation of a new Apache Lab, called "dislocate".

dislocate, the distributed service locater.

With projects like 'dworker' allowing tasks to be distributed to many
machines, it is difficult to manage and load balance requests for
services to the right set of machines, without using complicated
software.  dislocate aims to eliminate the need to configure 'where' a
service is available on a network, and enable autodiscovery of new
services, and high performance location of these services by clients.

This project consists of three major components; The client API, a
client server, and a services library.

The client server will run on all machines involved. It provides a local
cache of the available services, and provides monitoring of services on
other hosts.  It will use UDP multicast to communicate with other nodes.
 It will offer both a TCP and shared memory area for the client API on
that machine to connect to, and get a list of available services, and
where they are located.

The clients library provides the means to gather a list of services,
where the services are located, and some statistics on how busy each
services/host is.  This can allow the clients to do application level
load balancing, without involving a central load balancer or another
Single Point of Failure.

The services library would announce an available service to the local
client server.  The services library would be used by something like
dworker, to spread the information about what can be invoked on that
local node.  It would also be used to send statistics to the local
server, enabling better balancing of requests to the entire cluster.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to