[Users] how to refresh REGISTER state when restarting redundant proxy

Christian Schlatter cs at unc.edu
Mon Apr 23 16:42:43 CEST 2007


Jiri Kuthan wrote:
> At 02:32 23/04/2007, Christian Schlatter wrote:
>> Alan,
>>
>> Alan Crosswell wrote:
>>> One option being discussed here is running mysql replicated.  This
>>> brings up the concern that the independent proxies are not aware that
>>> they are talking to a single database instance.  Will there be issues
>>> involved such as:
>>> - deadlocks
>>> - inconsistency of in-memory and in-database data structures
>>>  (e.g. usrloc, presence)
>>> - collisions of per-proxy unique keys that are inserted into
>>>  tables
>>> Personally, I think mysql replication violates KISS if I am trying to
>>> have my redundant servers as independent and survivable as possible.
>> With mysql master-slave replication only one proxy could write to the database, so you'd need master-master replication which is possible but doesn't offer ACID as mysql cluster does.
> 
> I would not constrain oneself, for example one can do symmetric two-way client-server
> replication. We have done that once with SER, other testimony can be found in 
> http://portal.acm.org/citation.cfm?id=1227865.1228010&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618
> (referring to a Columbia University technical report for even more details).
> 

Agreed, but I still wouldn't call such a solution "simple and stupid". 
And the paper mentions that mysql master-master replication doesn't 
offer atomicity and therefor imposes the danger of inconsistent tables. 
I guess if the authors would have had access to mysql 5.0 they'd used 
mysql cluster instead. Don't get me wrong, I think using a DB cluster 
for registration state is a valid approach, it's just more complicated 
than letting the endpoints register with all proxies in parallel.

Christian

> 
>> I agree that using DB replication violates KISS as would also do the application layer state replication solutions you're describing below. 
> 
> I would say it depends on which type of data you are referring to. With SER (and I would
> say this is 100% directly applicable to openser too) we have been using different replication
> strategies to different types of data (tables).
> 
>> For me the best solution would be to have endpoints registering with all redundant proxies in parallel. This would also be in-line with SIP's redundancy in the previous hop. The newest firmware release for the Polycom SIP phones does support that, though I haven't tested it yet. Are there other endpoints implementing this feature?
> 
> The downside is that it does not work once you get a new SIP phone.
> 
> -jiri
> 
> 
> 
> 
> --
> Jiri Kuthan            http://iptel.org/~jiri/
> 





More information about the Users mailing list