On 22.08.2022 08:44, Sasmita Panda wrote:
When I am configuring 2 connectionstrings here , that means
1. Opensips will always honor the 1st one as primary and 2nd one as
secondary ?
2. If the 1st one will get down and 2nd one becomes primary , what
will happen to opensips ? Will that keep the 2nd one as primary
automatically or I have to switch the domain in the config ?
3. How does opensips decide which one is primary and which is secondary ?
Please help me out . I am stuck in the middle of something here .
Hi Sasmita,
This has more to do with the libmongoc library behavior, rather than
OpenSIPS. First, the multi-host replica set syntax is part of the
MongoDB connection string syntax[1], so everything that you can read on
the Mongo website also applies to the "cachedb_mongodb" module.
1. This means that once you include the "replicaSet=rs0" component, the
library will automatically establish who is the PRIMARY node on each
query. If the PRIMARY should ever change (either due to system failure,
manual switch, etc.), the library will be able to switch to the new
PRIMARY, whichever that may become (imagine you have a 5-node replica set).
2. no need to change the config string. The library will always know
which is the PRIMARY (writer) node.
3. I cannot say... I image the library will connect to each node and run
an "isMaster()"[2] command? I suggest you do an ngrep or even a PCAP
capture - that should give you more info on libmongoc behavior.
[1]: https://www.mongodb.com/docs/v5.2/reference/connection-string/
[2]: https://www.mongodb.com/docs/v4.2/reference/command/isMaster/
Best regards,
--
Liviu Chircu
www.twitter.com/liviuchircu | www.opensips-solutions.com
OpenSIPS Summit 2022 Athens, Sep 27-30 | www.opensips.org/events
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users