Round Robin LoadBalancer

130.0 GBP

130.0 GBP peopleperhour 技术与编程 海外


Can you make a sample code for a round robin algorithm with the following requirements for it to run in Java Apache Netbeans and no other IDE:1. The load balancer system.2. General worker node.  Do not hard code names, IP address(Please make sure you DO NOT HARD CODE), etc into this but instead have these passed in as parameters on the command line.  The node program will be running multiple times (either on the same machine or on separate ones)3. A program for sending jobs into the system.To potentially achieve a good mark in this assignment you will need to at least ensure your implementation considers:1. having different programs / projects as stated above;2. make use of multiple classes in each program;3. ensure that the relevant functionality for the class is contained within it;4. link classes together to form the overall algorithm;5. use multi-threading where necessary;6. send, receive and process messages7. only use the main method for extracting information from the arguments passed in from the command line and to start your system to ensure that you are not hard coding any system specific information;8. do not provide a monolithic solution (e.g. all code in one class or main method); and,9. do not introduce any form of OS scheduling techniques.  As this is a coordination system, you will only need to consider how to deal with working out which worker node needs to be sent a job message.In addition, you should also consider the following functional aspects:1. Each node will register with the load balancer by sending a message.2. The scheduler will record node details.3. Jobs require the load-balancer to assign the job to the next free node. The job information will detail the number of seconds that a job will take to run, rather than trying to include some form of code that is required to be executed.
4. The load balancer assigns the job to a node by sending it a message to work for X seconds. Nodes will receive job requests and wait for the required time. Once a job has finished on a node, a message will be sent back.