Skip to content
An example of how to use hashicorp/memberlist
Go
Branch: master
Clone or download
asim Merge pull request #3 from Freeaqingme/master
Add EventDelegate example (Join, Leave, Update events)
Latest commit 67aa3f7 Jun 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE format license Dec 4, 2017
README.md update readme Mar 14, 2018
memberlist.go Add EventDelegate example (Join, Leave, Update events) Jun 20, 2019

README.md

Memberlist

A basic http key/value example of how to use hashicorp/memberlist

Install

go get github.com/asim/memberlist

Usage

memberlist
-members="": comma seperated list of members
-port=4001: http port

Create Cluster

Start first node

memberlist

Make a note of the local member address

Local member 192.168.1.64:60496
Listening on :4001

Start second node with first node as part of the member list

memberlist --members=192.168.1.64:60496 --port=4002

You should see the output

2015/10/17 22:13:49 [DEBUG] memberlist: Initiating push/pull sync with: 192.168.1.64:60496
Local member 192.168.1.64:60499
Listening on :4002

First node output will log the new connection

2015/10/17 22:13:49 [DEBUG] memberlist: TCP connection from: 192.168.1.64:60500
2015/10/17 22:13:52 [DEBUG] memberlist: Initiating push/pull sync with: 192.168.1.64:60499

Key/Value Api

HTTP API

  • /add - add value
  • /get - get value
  • /del - delete value

Query params expected are key and val

# add
curl "http://localhost:4001/add?key=foo&val=bar"

# get
curl "http://localhost:4001/get?key=foo"

# delete
curl "http://localhost:4001/del?key=foo"
You can’t perform that action at this time.