>>> "Caching" is an optimization strategy to improve throughput and scalability.
>>> Currently, we have no idea where we need to optimize, haven't we?
>>
>> Yup it is. However, we have to start thinking about this. Well we know
>> how XMPP Server works and
>> we can atleast start putting our thoughts in place.
>>
>>> What do you think would be the benefit of introducing such a "global
>>> implementation"? What would be its features and benefits?
>>
>> Let me simplify it a bit. We have a cache implementation. How about
>> using the same implementation
>> by all. The user like presence, roster etc can just customize the way
>> they see cache.
>>
>> Here is what I feel should be the requirements
>> 1. CacheProvider - SPI like implementation to plugin custom caching
>> implementation. Our Server Users can choose what works best for them
>> 2. Modules don't rewrite specific cache implementations, unless a
>> situation demands so. They rely on the global implementation. Please
>> note that global implementation doesn't means single cache. There can
>> be multiple cache's with or without replication. Even as of today we
>> use two cache instances for Presence, one based on Entity and other is
>> based on JID
>>
>> The benefit is code reuse and ease of maintenance :-)
>
> You mean you want to share code and build something like a "cache
> abstraction layer"? I found the current implementations to be quite
> lightweight and don't yet see the benefit.

Not yet, but shall the details as soon as I have more concrete design.

-- 
thanks
ashish

Blog: http://www.ashishpaliwal.com/blog
My Photo Galleries: http://www.pbase.com/ashishpaliwal

Reply via email to