PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Atlassian

Design a distributed rate limiter service

Last updated: Mar 29, 2026

Quick Overview

This question evaluates competency in distributed systems design, focusing on scalability, consistency, concurrency control, storage and sharding choices, observability, and rate-limiting concepts such as per-key limits and algorithm trade-offs.

  • medium
  • Atlassian
  • System Design
  • Software Engineer

Design a distributed rate limiter service

Company: Atlassian

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

## Scenario You need to design a **rate limiting system** that can be used by **multiple API gateways and/or many backend services** (not just embedded in a single gateway). The system should enforce policies such as: - Per API key / per user / per IP limits - Example: at most `y` requests per `x` seconds (or buckets) ## Requirements Cover the following: ### Functional - Enforce common rate limit algorithms (fixed window, sliding window, token bucket—pick one and justify). - Support multiple independent limit keys (e.g., `tenantId + api + userId`). - Return decision fast enough to sit on the request path. ### Non-functional - Must scale to very high traffic ("Atlassian-scale"). - Must work correctly with **many gateways** calling it concurrently. - Discuss consistency requirements (what correctness means for rate limiting). - Availability and failure mode: fail-open vs fail-closed. - Observability: metrics and logging. ### Design discussion prompts - If the limiter is shared by many gateways/services, what are the risks of inconsistent counters? - What storage/technology would you choose (e.g., Redis, SQL, DynamoDB) and why? - How would you handle concurrency control and atomicity of updates? - How do you shard/scale the system and avoid hot partitions?

Quick Answer: This question evaluates competency in distributed systems design, focusing on scalability, consistency, concurrency control, storage and sharding choices, observability, and rate-limiting concepts such as per-key limits and algorithm trade-offs.

Related Interview Questions

  • Design a simple greeting-card web app - Atlassian (medium)
  • Design a Data Stream Processor - Atlassian (easy)
  • Design a scalable chatbot platform - Atlassian (medium)
  • Diagnose why a scaled system became slow - Atlassian (medium)
  • Store a hierarchy and return all children - Atlassian (medium)
Atlassian logo
Atlassian
Feb 11, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
1
0
Loading...

Scenario

You need to design a rate limiting system that can be used by multiple API gateways and/or many backend services (not just embedded in a single gateway).

The system should enforce policies such as:

  • Per API key / per user / per IP limits
  • Example: at most y requests per x seconds (or buckets)

Requirements

Cover the following:

Functional

  • Enforce common rate limit algorithms (fixed window, sliding window, token bucket—pick one and justify).
  • Support multiple independent limit keys (e.g., tenantId + api + userId ).
  • Return decision fast enough to sit on the request path.

Non-functional

  • Must scale to very high traffic ("Atlassian-scale").
  • Must work correctly with many gateways calling it concurrently.
  • Discuss consistency requirements (what correctness means for rate limiting).
  • Availability and failure mode: fail-open vs fail-closed.
  • Observability: metrics and logging.

Design discussion prompts

  • If the limiter is shared by many gateways/services, what are the risks of inconsistent counters?
  • What storage/technology would you choose (e.g., Redis, SQL, DynamoDB) and why?
  • How would you handle concurrency control and atomicity of updates?
  • How do you shard/scale the system and avoid hot partitions?

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Atlassian•More Software Engineer•Atlassian Software Engineer•Atlassian System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.