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/



_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to