What is Terracotta?

2019-02-01 00:53发布

  • What is Terracotta?
  • What services does it offer?
  • What problems does it solve?
  • What other products solve problems similar to those that Terracotta solves?

4条回答
Rolldiameter
2楼-- · 2019-02-01 01:17

Find a great article about Terracotta and how it works at InfoQ written directly by Orion Letizi, co-founder and software engineer at Terracotta:

http://www.infoq.com/articles/open-terracotta-intro

It helped me to prepare for a webcast about terracotta and how it can be used for clustering and scaling grails applications and gave me a good overview about Terracotta.

查看更多
Juvenile、少年°
3楼-- · 2019-02-01 01:19

I like to think about Terracottas DSO in terms of advanced parallel architectures: Terracotta turns your message-passing multicomputer into a usual unified memory multiprocessor. Multicomputers are different from multiprocessors in that processors share memory and, therefore, are easier to program because you just write into memory in usual multithreading way. Though, you it means that you need to explicitly synchronize access to the shared data using a lock, system saves you from the need to explicitly message-passing data marshaling and resolves the biggest parallel programming issue -- the cache coherence -- for you. Multiprocessor marshals the data for you when you take/release the lock. It is, therefore, desirable. But, initially you have a bunch of computers -- a multicomputer.

The magic is achieved by injecting some code into your classes at object field/lock access points. To correspond DB world, Terracotta considers all updates done under a lock atomic (transaction). Likewise multiprocessors can have a global storage, Terracotta allows to back up the locally updated data to disk.

查看更多
Emotional °昔
5楼-- · 2019-02-01 01:26

What other products solve problems similar to those that Terracotta solves?

Try Hazelcast, It is super simple to use. Peer to peer, highly scalable, fully open source clustering technology for Java. It is simply distributed Map, Queue, MultiMap, ExecutorService. You can use its Map as a distributed cache.

查看更多
登录 后发表回答