totally, fiatjaf’s relay sdk does all the heavy lifting.
for every read request it concurrently issues the query to both the local db and upstream read relays. it deduplicates events received from both of those queries and the threads basically race to write events to the websocket.
Gossip model and upstream relay AUTH are the two items on my todo list, and I haven’t given either much thought yet 😅
and yeah, it multiplexes the upstream requests in that it persists and reuses a connection to each read relay.