today I learned, in System Design, we have a concept call CAP theorem
C for Consistency: means your response will always return the up-to-date data, or an error A for Availability: means you always return a response, but not guarentee that the content is up-to-date and P for Partition Tolerance: your system still working despite the network is partially down
and we get to choose 2 out of 3 for our system(I'm still not fully understand why we can handle all, but will figure out)
the network is always unreliable, so we always have to account for P, that's left us with only C or A but never both