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]
