Skip to content

Details

We read and review https://github.com/golang/groupcache

This is part 2, in part 1 we reviewed its components:

  • consistenthash: an implementation of a ring hash
  • lru: implements an Least Recently Used cache
  • singleflight: a duplicate function call suppression mechanism

In the first 20 minutes, I will present the 3 components (consistenthash, lru, and singleflight) so that we can focus on the architecture of the whole library.

Together, we’ll:

  • Read and understand the code
  • Discuss the architectural decisions/its design
  • Write some Architecture Decision Records (ADRs)
  • Draw a class diagram and a C4 diargram
  • Decide what testing strategy the repo should have
  • Discuss pros and cons of the current implementation

It’s a great way to sharpen your architecture skills and see how others design and structure their systems.

No prep needed — just bring your curiosity and your intuition.

Related topics

Software Architecture
Software Craftsmanship
Software Engineering

You may also like