Thanks for raising this question, it's something that should be covered better in the Firebase documentation.
You're correct that the Spark plan has a 125,000/month free function invocation limit. In addition however (and currently still unmentioned in the docs) there's per-day and a per-100-seconds limits too:
- You can have 5000 function invocations per day.
- You can have 50 function invocations per 100 seconds.
If these per-day or per-100s quotas are problematic for you, I suggest upgrading and using the free quota in the pay-as-you-go Blaze plan. You'll get even more free access (two million (!) invocations free), and all these quotas practically go away (only some abuse protections remaining).