try mysql cluster Works quite well if you're not having too massive amounts of data (several GB)
On 7/6/06, Joseph Benden <[EMAIL PROTECTED]> wrote:
Hello, A reader/writer layer would need applied. In it you would account for a load-balancing method (random sort and pluck the top, or round robin, least used, etc.) for the readers and a single master. On a reader level, the status would need polled such that you don't continue to use a down server. A background thread would need to check downed readers to see if they are back online. (ping, for instance) The writer would need to spool failed queries for future injection. You wouldn't want to 'hang' Asterisk with a downed master server. And ideally, this would be a generic database layer, such that other parts of Asterisk could reuse the same logic - or even a C library so that other software could use the same (PHP frontend for billing or provisioning, for instance.) This would be the easiest method. The most complex would be multiple readers and writers which would entail spooling on a per server level when a query fails, so that when it's online it could accept the queries not yet processed. And it goes without saying that everything falls apart if the same library isn't used by all parts. And, if the machine dies and the spool files are lost, then you could have out-of-sync issues. -Joe Thralling Penguin LLC On Thu, 2006-07-06 at 10:24 -0500, JR Richardson wrote: Just need to bounce this off of you guys, help get my mind right…………. Using the ARA gives the ability for multiple PBX's to pull info from a MySQL database cluster. Clustering MySQL is pretty simple when using mysql master/slave database replication and distributing the database lookups across the database replication cluster. This gives good database HA for MySQL but I'm running into an issue specifically with the PBX-to-database write operation then followed by the database replication. MySQL server layout: Master id:1 provisioning front end, human interaction Slave1 id:2 hosting database for pbx 1, 2, 3 Slave2 id:3 hosting database for pbx 4, 5, 6 Slave3 id:4 hosting database for pbx 7, 8, 9 When we make changes to the Master, changes are immediately replicated to all the slaves and the PBX's perform accordingly. When PBX 1 registers a phone and updates the "full contact info" to database Slave1 for that UA, we now need a sync operation from Save1 back to the database Master so the Slave2 and Slave3 remain in sync. There are database sync utilities with MySQL but are accessed by manually running the utilities. I'm looking for an automated solution that will keep all these databases in 'sync' rather than just replicated from one master. Can ARA accomplish this by separating the read and write operations, configuring the write operation to the Master database and configuring the read operation to pull from another database? This functionality would need to be added to sip/iax users/peer operation, something like: sip.conf readdbname=slave1 readdbhost=10.10.10.11 readdbuser=asteriskdb readdbpass=asteriskdbpassword writedbname=master writedbhost=10.10.10.10 writedbuser=asteriskdb writedbpass=asteriskdbpassword Any thoughts or ideas on how to accomplish will be greatly appreciated. Thanks. JR _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
_______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
