Skip to content

Memberlist #14

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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