| This directory includes deployment scripts that help to deploy ResilientDB on multiple machines. At present, these scripts only support deploying KV service and KV Performance server. | |
| # Usage | |
| ## Deploy KV Service | |
| Add the IP addresses of the machines where you wish to deploy ResilientDB replicas and client proxy in the file [config/kv_server.conf](config/kv_server.conf). | |
| Create the ssh key file in the config "config/key.conf" and put your ssh key there (See the [key_example.conf](config/key_example.conf) as an example). | |
| We recommend using private IP addresses of each machine. | |
| * If you do not require any SSH key to log in to a machine, then you would need to update the scripts. | |
| * In these scripts, we assume that the ``root`` is ``ubuntu`` and the current working directory is located at ``/home/ubuntu/``. If this is not the case for your machines, you would need to update the scripts. | |
| * If you have changed the path for the binary, then you would need to update the path stated in the scripts. | |
| To deploy the KV service, run the following command from the ``deploy`` directory: | |
| ./script/deploy.sh ./config/kv_server.conf | |
| If the script outputs ``Servers are running``, it implies that you have successfully deployed ReslientDB KV Service on desired machines. | |
| Note: this script creates a directory ``config_out``, which includes keys and certificates for all the replicas and the proxy. Further, it includes the configuration for replicas ``server.config`` and proxy ``client.config``. | |
| ### Testing deployed KV Service | |
| To do so, we need to build and run the KV client tools: | |
| cd ../.. | |
| bazel build service/tools/kv/api_tools/kv_service_tools | |
| bazel-bin/service/tools/kv/api_tools/kv_service_tools scripts/deploy/config_out/client.config get test 1234 | |
| Or: | |
| bazel run //service/tools/kv/api_tools:kv_service_tools -- $PWD/config_out/client.config get test | |
| ## Test Performance | |
| Our benchmark is based on the Key-Value service. | |
| Before running, place the private IP addresses of your machines in the file ``config/kv_performance_server.conf``. | |
| Run the script: | |
| ./performance/run_performance.sh config/kv_performance_server.conf | |
| Results will be saved locally and be shown on the screen as well. |