Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

roma

Package Overview
Dependencies
Maintainers
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

roma

  • 1.3.0
  • Rubygems
  • Socket score

Version published
Maintainers
3
Created
Source

ROMA - A Distributed Key-Value Store in Ruby

ROMA is one of the data storing systems for distributed key-value stores.
It is a completely decentralized distributed system that consists of multiple processes, called nodes, on several machines. It is based on pure P2P architecture
like a distributed hash table, thus it provides high availability and scalability.

ROMA is written in Ruby. However, following choices are available to access to ROMA.

  • Client libraries of Ruby and Java are available.
  • ROMA protocol is compatible with memcached text-based one so that
    any memcached client libraries allows users to interact with ROMA.

More information is here.

Documentation

Requirements

  • Ruby >= 2.1.0

Installation

Install ROMA

You can simply install ROMA and dependency libralies by using a "gems" command of Ruby as follows.

$ gem install roma

Make routing files

ROMA is required to make the routing files before starting up.
The routing file is stored the routing information of each processes.

$ mkroute localhost_10001 localhost_10002 --replication_in_host

If succeeded, two new files which named localhost_10001.route and localhost_10002.route created in the current directory.
Refer to Commands for more detail information about Shell Commands.

Start up ROMA

Run two processes by using a romad.rb program as follows:

$ romad localhost -p 10001 -d --replication_in_host
$ romad localhost -p 10002 -d --replication_in_host

Refer to Commands for more detail information about Shell Commands.

Usage

Like memcached, you can connect to ROMA with telnet. Connect to the ROMA process that you ran above.

$ telnet localhost 10001

You can interact with ROMA in the same way of memcached commands.

set foo 0 0 3 <return>
bar <return>
STORED
get foo <return>
VALUE foo 0 3
bar
END

Refer to Commands for more detail information about ROMA Commands.

Contributing

If you would like to contribute, please...

  1. Fork.
  2. Download Ruby Client to same directory.
  3. Make changes in a branch & add unit tests.
  4. Run Unit Test
  • ruby test/run_test.rb (if unit test fails, run it again - it's fickle).
  1. Create a pull request.

Contributions, improvements, comments and suggestions are welcome!

Promoters

Roma is promoted by Rakuten, Inc. and Rakuten Institute of Technology.

FAQs

Package last updated on 20 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc