Skip to content

A client-server architecture that communicates with Remote Procedure Calls (RPC). Implented using Java RMI. The server is multi-threaded such that it can handle multiple outstanding client requests at once.

Notifications You must be signed in to change notification settings

riccardoprosdocimi/multi-threaded-key-value-store-rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Multi-threaded key-value store (RPC/RMI)

A client-server architecture that communicates with Remote Procedure Calls (RPC). Implemented using Java RMI. The server is multi-threaded such that it can handle multiple outstanding client requests at once.

It's set up to allow multiple concurrent clients to communicate with it and perform three basic operations:

  • PUT(key, value)
  • GET(key)
  • DELETE(key)

Usage (locally):

  1. Open up two terminal windows and navigate to /Project2/src
  2. In one window, type javac server/*.java utils/*.java (hit ), followed by java server.Main <Port#>, where <Port#> is the port number the registry is located at (hit )
  3. The server is now running
  4. In the other window, type javac client/*.java utils/*.java (hit ), followed by java client.Main <Port#>, where Port# is the server's registry's port number (it has to match the server's) (hit )
  5. The client is now running
  6. The predefined protocol is:
    • PUT:key:value(hit )
    • GET:key(hit )
    • DELETE:key(hit )
  7. To shut down the application, type stop(hit ) or shutdown(hit )

About

A client-server architecture that communicates with Remote Procedure Calls (RPC). Implented using Java RMI. The server is multi-threaded such that it can handle multiple outstanding client requests at once.

Topics

Resources

Stars

Watchers

Forks

Languages