0
0
HLDsystem_design~12 mins

Pagination patterns (cursor, offset) in HLD - Architecture Diagram

Choose your learning style9 modes available
System Overview - Pagination patterns (cursor, offset)

This system demonstrates two common pagination methods used in APIs and databases: offset-based and cursor-based pagination. It supports efficient data retrieval for large lists by dividing results into pages, improving user experience and reducing server load.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  +--------------------+
  |                    |
  v                    v
Offset Pagination Service  Cursor Pagination Service
  |                    |
  v                    v
Database <------------ Cache
Components
User
client
Initiates requests for paginated data
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Routes requests to the appropriate pagination service
Offset Pagination Service
service
Handles pagination using offset and limit parameters
Cursor Pagination Service
service
Handles pagination using cursor tokens for efficient navigation
Database
database
Stores the full dataset and responds to queries
Cache
cache
Stores frequently accessed pages or cursor results to reduce database load
Request Flow - 18 Hops
UserLoad Balancer
Load BalancerAPI Gateway
API GatewayOffset Pagination Service
API GatewayCursor Pagination Service
Offset Pagination ServiceCache
Cursor Pagination ServiceCache
CacheOffset Pagination Service
CacheCursor Pagination Service
Offset Pagination ServiceDatabase
Cursor Pagination ServiceDatabase
DatabaseOffset Pagination Service
DatabaseCursor Pagination Service
Offset Pagination ServiceCache
Cursor Pagination ServiceCache
Offset Pagination ServiceAPI Gateway
Cursor Pagination ServiceAPI Gateway
API GatewayLoad Balancer
Load BalancerUser
Failure Scenario
Component Fails:Cache
Impact:Cache misses increase, causing more direct database queries and higher latency
Mitigation:System continues to function by querying the database directly; cache rebuilds on new queries
Architecture Quiz - 3 Questions
Test your understanding
Which component routes the user request to the correct pagination method?
AAPI Gateway
BLoad Balancer
CCache
DDatabase
Design Principle
This architecture shows how separating pagination logic into offset and cursor services allows flexibility and scalability. Using a cache reduces database load and improves response times. Routing through API Gateway and Load Balancer ensures organized traffic flow and fault tolerance.