For the solution that I am building, I am using MongoDB Atlas (Cloud) and building services with Spring Webflux. Using ReactiveMongoRepository and ReactiveMongoTemplate.
I have now successfully implemented our services which uses ChangeStreams to get reactive updates on changes (insert and/or updates) to documents in the MongoDB Atlas database. This means, every time a user logs in (in the front-end), they are seeing a dashboard with 5 ChangeStreams active on just 1 screen. With many users, this means a good amount of ChangeStreams.
I have contacted MongoDB Atlas, through the chat, but am getting mixed signals. First I am told that the ChangeStreams are part of the active connection limits as part of the cluster tier, as described by the link below:
Meaning that if you have 500 concurrent connections limit, and you have 50 ChangeStreams running, than you have used 50 of the 500, thus 450 remaining.
On another note, I am told, the limitations for ChangeStreams are different as per link below:
I am kind of confused and hope someone can perhaps answer my questions here.
Are the ChangeStream limits part of the Connection limit (as per cluster tier) or are they separate? If they are separate (and according to the second link), that means that you are not able to have a lot of ChangeStreams, if I am correct. This limits my ‘reactive’ application severely.
If ChangeStreams are really that restrictive with those kind of limits. Are Triggers an alternative perhaps and how are they different compared to ChangeStreams?
Hope someone is able to provide any guidance/info here. Thanks in advance.