What is the practical purpose of using Memory Store Queues, since I can do the same with tables?
In comparison to a data store, a memory store provides lower latency and higher throughput in exchange for reduced durability. It’s a good option for any data that rapidly changes
You cannot do the same with just tables. A data store’s Update Async is the closest similar function but will be much slower for rapidly updating values.
- Global leaderboards - Store and update user rankings on a shared leaderboard inside a map with key-value pairs.
- Skill-based matchmaking queues - Save user information such as skill level in a shared queue among servers, and use lobby servers to run matchmaking periodically.
- Auction houses - A global marketplace where users from all servers list and bid for available goods. Store marketplace data inside a map as key-value pairs.
They list examples in the link you posted, it’s an optimized function to be used over Update Async for such particular use cases
It is not clear to me how MemoryStore Queues are expected to be used in practice. It seems the example usecase for this is cross server matchmaking. The ways I imagine using it seem like they would have issues when running at scale. If I understand correctly, each lobby would be running autonomously and be competing to process items off a single queue? It would then use messaging service to communicate to other servers about the match?