I'm looking to monitor 500+ accounts to do periodical operations and use the most recent data when there is a change on them (processed commitment). I'm wondering if websockets are actually the best solution to monitor such a large number of accounts or if I need to offload the data to an external database/queue via Geyser. Does the latter come with a higher latency?
Nowadays it doesn't make sense to rely on websockets or run your own Geysers.
We're witnessing an advent of geyser-as-a-service type of services.
Pick your free API key at Helius or Shyft and you're good to go! Make sure to check out their docs on how to use webhooks/callbacks to get notified for account updates.