prattle

package module
v0.0.0-...-b730ae4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

README

Prattle

Description

Distributed Embedded Key-Value store

Installation

go get -u github.com/gojekfarm/prattle

Usage

You can build the example using the following steps:

cd example
glide install
go build

You then need to run two instances of the app on different tabs of your terminal:

./example -http_port 8000 -rpc_port 9000 -members
'0.0.0.0:9000,0.0.0.0:9001'

./example -http_port 8001 -rpc_port 9001 -members
'0.0.0.0:9000,0.0.0.0:9001'

Sample payload for the '/add_key' API is shown below:

{
"key": "ping",
"value": "pong"
}

Developing

try,
    make deps
    make test

or just,
    make

License

Copyright 2018, GO-JEK Farm <http://gojek.farm>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BroadcastMessage

type BroadcastMessage struct {
	Key   string
	Value interface{}
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewConsulClient

func NewConsulClient(consulAddress string) (*Client, error)

func (*Client) FetchHealthyNode

func (client *Client) FetchHealthyNode(serviceName string) (string, error)

func (*Client) Ping

func (client *Client) Ping(checkID string) error

func (*Client) Register

func (client *Client) Register(discovery config.Discovery) (string, error)

type Prattle

type Prattle struct {
	// contains filtered or unexported fields
}

func NewPrattle

func NewPrattle(consul *Client, rpcPort int, discovery config.Discovery) (*Prattle, error)

func (*Prattle) Get

func (p *Prattle) Get(k string) (interface{}, bool)

func (*Prattle) JoinCluster

func (p *Prattle) JoinCluster(siblingAddr string) error

func (*Prattle) Members

func (p *Prattle) Members() []string

func (*Prattle) SetViaGossip

func (p *Prattle) SetViaGossip(key string, value interface{}) error

func (*Prattle) SetViaUDP

func (p *Prattle) SetViaUDP(key string, value interface{}) error

func (*Prattle) Shutdown

func (p *Prattle) Shutdown()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL