Yes, good point, but I don't like the solution. Both doing t_replicate AND
DB replication is replication at both layers... I think we here have another
argument for replication at the application layer. I'm starting to get blurred
vision here: What was the reason for doing DB-level replication in the first
place? (And BTW, what do you gain?)
g-)
---- Original Message ----
From: Java Rockx
To: Karl H. Putz
Cc:
serusers
Sent: Monday, May 30, 2005 05:07 PM
Subject: Re: [Serusers] SER
Reports "out of memory"
> Good point. So then perhaps t_replicate()
[AND] save_memory() should
> be used as normal. And SER should then just
start up using a
> lazy-loading mechanism. Eventually all SER routers in
the farm would
> then have a fully populated cache and the problem would
be solved.
>
> In other words the SER server that
physically recieves the original
> REGISTER message would save() and
t_replicate().
>
> All the peers in the farm that receive a
REGISTER via the
> t_replicate() function would only use save_memory().
>
> MySQL replication still occurs and if a SER server is
restarted it
> doesn't attempt to load usrloc info upon startup, but
rather loads it
> over a period of time. All the while, if a usrloc record
is looked-up
> and it is on in cache, then SER would query MySQL for the
correct
> ucontact record.
>
> Thanks for
the qustion --- I hadn't thought about that before.
>
>
Regards,
> Paul
>
>
> On 5/30/05, Karl H. Putz
<kputz@columbus.rr.com> wrote:
>> -----Original Message-----On
Behalf Of Jiri Kuthan
>> Sent: Monday, May 30, 2005 5:36 AM
>>
At 03:40 AM 5/30/2005, Java Rockx wrote:
>>> Currently, usrloc is
replicated via t_replicate() using
>>> db_mode=writeback.
>>>
>>> However, our lazy-load patch would obsolete
the need for
>> t_replicate() because we have multiple MySQL servers
that are
>> active-active so __all__ replication really occurs at the
database
>> layer rather than the SIP layer.
>>
>>
So this is the point which I am still struggling with. I mean
>>
generally there is a problem
>> of read-write intenstive UsrLoc
operations. We can move it from
>> SIP to DB. However,
whichever
>> layer we choose to solve the problem, it takes
careful
>> dimensioning. Otherwise the
>> replication
mechanism may cause peformance problems.
>>
>> What Mysql
setup are you exactly using? Cluster? Master/slave
>> replication?
>>
>> Otherwise I think that the cache policy
"load-on-demand" makes sense.
>
> If pure DB replication is used,
what would happen in the following
> scenario:
>
> A given
user receives multiple calls such that more than 1 physical
> SER
>
server has userloc
> cache populated.
>
> The user then
phsyically moves or changes return contact registration
> information and
re-registers.
>
> It seems that the specific SER server that
handled the registration
> would
> update cache and the
>
backend DB would be updated. But any attempt to contact the user
>
through a
> SER server that has
> not yet expired the old cache
info would fail.
>
>
> Karl
>
>>
>> -jiri
>>
>>
_______________________________________________
>> Serusers mailing
list
>> serusers@lists.iptel.org
>>
http://lists.iptel.org/mailman/listinfo/serusers
>>
>
>
> _______________________________________________
> Serusers
mailing list
> serusers@lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
>
>
>
>
_______________________________________________
> Serusers mailing
list
> serusers@lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers