[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: Ittaiz  XML
Profile for Ittaiz -> Messages posted by Ittaiz [9]
Author Message
Does someone have any input on my doubts regarding replication?
Another doubt which surfaced yesterday was due to the fact that I'm to deploy on EC2 and this [url http="http://forums.terracotta.org/forums/posts/list/3942.page"]post[/url] by Ari tells me I should stay away from JMS/RMI on EC2.
So I return to my original idea of starting the distributed cache with the TC server holding none of the objects and later by configuration change this if I need to.

Would love to hear any thoughts on this,
OK, that sounds like a good answer.
Thanks Eric.

ericm wrote:
Data is retrieved from the cache in sub ms from the L1 and very low ms (depending on your network latency) from the L2 

Why is that? I of course know regarding the L1 but what I was bothered by, and maybe without cause, is that the cost of the L2 leg, seeing it is not in-process, would be expensive. Why is it not? Or more to the point, why is it dramatically cheaper than a DB access?


ericm wrote:

The Terracotta servers are designed to be a caching server and hold all the data from all your applications in it.

It sounds like you want stand alone Ehcache with replication (RMI). With this architecture, you don't need a TC server. The replication process will keep your applications in sync.

Eric M. 

Hi Eric,
Thanks for your reply.
I think replication is not for me for two reasons (and I might be wrong):
1) Every CacheManager holds
"...100% of data held in each node" 
from Distributed Caching With Terracotta

2) I think there is a good chance I will need the TC as the L2 but I want to start without it and I'm afraid switching afterwards is more than just changing the config.

Am I wrong?

I'm looking into using Hibernate with EHCache distributed as it's caching provider and I want, at least for the beginning, to configure the L2 (TC server) to hold no objects and thus turn the TC server into solely a coordinator between the various cache managers (when put/update are used).
Is this possible?

The main reason for this request is because I want to load the TC server(s) on the same machines as the app-servers and with this option I think I limit significantly their memory requirements from the machine.

I'm thinking of using the open-source version of EHCache together with Hibernate as a distributed cache and I was wondering if the open-source configuration of n L1 clients (the app-servers running the app and ehcache) with one active TC server (with passive TC servers for failover) doesn't just move the bottleneck from the DB to the TC server?
I'd love to hear where I'm wrong.

Also, in such a scenario, when I update a cached entity via hibernate does hibernate notify EHCache and the DB on the changes or is the flow different?

Thanks in advance,

alexsnaps wrote:
Looks like this is an oversight. JTA was at first only supported when you clustered your cache with Terracotta. But this is no longer the case. Yet if you want to distribute your cache, only clustering it with Terracotta will support JTA, other replication mechanism don't provide the necessary guarantees.
I've created a JIRA for the documentation to be adapted.
Sorry for the inconvenience.

Hi Alex,
Thanks a lot.
Regarding the distributed mode, that won't be a problem I suspect as Terracotta will be my choice when I come to cluster my modules (It's a little farther down the road) and I wanted to verify I can use EHCache in the mean time.
Thanks again.
I'm considering EHCache as a transactional cache solution for an in-memory map for one of my modules which I need to use as a part of a distributed transaction (with JTA).
I was readding throught the docs and I saw there the following quote:
"Please note that XA Transactional caches are currently only supported when clustered with Terracotta."
What does this mean?
If I have a J2EE app server (glassfish for example) which is not configured in any way as a cluster and I want to use EHCache as a transactional cache then I can't?
If so can someone please explain to me what I need to do?

Thanks in advance,
I'm pretty sure this is a basic question, however reading the FAQ and the questions here got me confused.
I'm looking into Terracotta for my company and I think we would like to start with the open-source course and if the solution will be stable enough then switch to a commercial license for all of its advantages.
Currently in the open-source course, if my company develops a product which uses Terracotta, for scalability as an example, and sells that product do we need to pay attribution?
As Terracotta is in the software we're distributing, or is this not the correct meaning of distribution?

Thanks in advance,
Profile for Ittaiz -> Messages posted by Ittaiz [9]
Go to:   
Powered by JForum 2.1.7 © JForum Team