Under high load, there are at least two problems with using a process to hold and respond to queries with data:
- That single process can easily become a bottleneck
- Data is copied on message passing
You can avoid problem 1 by looking up data in the caller process from an ets table. If your data changes very rarely, (ideally never) you can replace ets with persistent_term which would also avoid problem 2.