[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 sr-users
mailing list