On 20 Oct 2023, at 09:17, Jawaid Bazyar bazyar@gmail.com wrote:
Hi Alex,
Well I guess the other effects if any are unclear.
As to what I want..
The goal is to ensure that all the nodes in a large-scale geographically-distributed system have routing information to locate the dynamic contacts of registered endpoints.
This requires that information to be shared with all other nodes somehow. Either you can store it in some kind of database and look it up, or, you have to proactively notify the other nodes of the information. (e.g. with DMQ or something similar).
DMQ replication is probably only scalable to a very small number of nodes (2-3), and also does not implement message reliability. This will force some other area of the application to shard across many small kamailio clusters.
Is there a different way to achieve a similar result? (Perhaps I have an incorrect assumption somewhere along the line)..
Not really, you've pretty much covered it.
I might disagree with the idea that DMQ doesn't scale to a larger number of nodes, but no, its scaling is not infinite.
Still sounds like db_mode 3 is the way to go for what you want, which is to use the database as the distribution and synchronisation mechanism. There are of course drawbacks to that, but you seem to be okay with those, and that's not where the pressure of the overall question appears to lie.
Not sure about your concerns about NAT pinging from another message, but they are orthogonal to the storage backend question per se.
db_mode 3 is the simple answer to your question. You might be splitting hairs on some of the other stuff.
-- Alex