How would you design a system to handle eventual consistency in a distributed ASP.NET Core Web API application ?