A live scoreboard looks simple until traffic arrives.
The product needs to show current match state, but your backend should not have to answer the same high-frequency request thousands of times per minute for every user watching the same event.
Separate initial state from live state
Initial state includes fixtures, teams, competition metadata, venue, kickoff time and pre-match context. This data can usually be loaded with REST and cached.
Live state includes score, match status, clock, period and incidents. This data changes more frequently and may be better suited to push updates or controlled polling.






