Hi Geert,

thanks for sharing this: my comments in-line.

> * require app devs to bundle their custom types in a dedicated jar also and 
> to only reference them through interfaces, allow us to use the same approach 
> as the
> one we're currently using
>
>  => the huge downside is that they'll most like have to restructure their 
> data structures and most importantly they will have to go through a generic 
> factory
> method and not be in control of the lifecycle of instances of these types

Too obtrusive: I wouldn't go with that one.

> * create an instrumentation agent that can instrument the byte-code of the 
> classes without having to use a classloader
>
>  => the problem here is that these types currently can find their relevant L1 
> client for the clustering logic, maybe some creative ideas here might make 
> this
> possible, not sure

I can't understand the problem with the agent: do you mind elaborating more?

> * forget about cluster-wide object identity and create a generic 
> serialization/deserialization approach that would allow types that aren't 
> serializable per-se to still
> be clustered
>
>  => this would obviously lose cluster identity but also be limited to 
> whatever we support in this serialization/deserialization logic, it might 
> also introduce one more
> concept of app devs that they need to understand

This could definitely be an interesting solution, in particular if you
plan to provide more serialization providers, such as Java
serialization, GoogleProtoBuf, and so on: I've made something similar
in Tim-Pipes, and it shouldn't be difficult to do the same in the
toolkit.
Anyways, I have a question: I'm not that concerned about object
identity, but rather about the speed improvements you'd keep by
maintaining the original Terracotta fine-grained replication; changing
a single attribute and then move around the whole serialized stream
seems to be far less efficient ... any thoughts on this?

-- 
Sergio Bossa
http://www.linkedin.com/in/sergiob
_______________________________________________
tc-dev mailing list
tc-dev@lists.terracotta.org
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to