Skip to content

Memberlist #14

@lucasleecr

Description

@lucasleecr

Link to the codebase

https://github.com/hashicorp/memberlist/

Which release/version did you read?

Commit hashicorp/memberlist@bfc6c88. The project doesn't do releases too often.

Why it is a good project to read?

  • Membership in distributed systems. Re-useable in other projects.
  • memberlist is a building block for Serf, which is a building block for Consul.

Starting point

memberlist.go (https://github.com/hashicorp/memberlist/blob/bfc6c8886aaf7d2f180da4717014f54f73e307a6/memberlist.go)

Reading order

No specific order.

Interesting parts

  • The Delegate interface that can be used as hooks in the gossip layer.
  • Payload handling, including encrypted messages

Any parts should be skipped?

No.

Any other tips?

  • Read the tests. It helps to understand how interfaces are used. It also has end-to-end tests.

Links and resources

Contributor

@lucasleecr

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions