使用序列化文件作为 Oracle Coherence 中的数据存储的分布式缓存

发布于 2024-08-29 14:10:04 字数 564 浏览 13 评论 0原文

很奇怪,但我正在研究 Oracle Coherence 作为分布式缓存的替代品。我的主要问题是我们的应用程序中目前没有分布式缓存。这是我主要关心的问题。这就是我想要实现的。因此,假设我占用一台机器并开始一个新的(第三个)读取过程,它将能够连接到缓存并侦听缓存,并且将拥有一整套重复三份的缓存(到目前为止,它是重复的)从普通人的角度来看,这也是浪费。缓存的大小为 2 GB,如果不进行分布式,它会限制我们。

这就是将我带到 Coheremce 的原因。

但现在,我们也没有数据库作为持久存储。我们将归档进程作为我们的持久存储。 (90 天的数据)好的,现在将其乘以大约 2 GB * 90 的 soem(这是我们想要保留的最低限度)。

作为解决方案的一致性的初步/中期分析。

我的脑海中闪过了一个(据说是)绝妙的想法。为什么不将其作为我的分布式缓存的持久存储。 Oracle Coherence 是否支持这一点?我也将摆脱归档基础设施(我讨厌守护进程归档进程)。由于某些奇怪的原因,我不想去数据库替换这些平面文件。

怎么说呢?Coherence 可以成为我的救星吗?任何其他稳定的替代品也是如此。 (连贯性是大佬们强加给我的,仅供参考)

Weired but I am investigating the Oracle Coherence as a substitue for distribute cache. My primarr problem is that we dont have distribituted cache as such as of now in our app. Thats my major concern. And thats what I want to implement. So, lets say if I take up a machine and start a new (3rd) reading process, it will be able to connect to the cache and listen to the cache and will have a full set of cache triplicated (as of now its duplicated) Now thats waste from a common person stanpoint too. The size of the cache is 2 GB and without going distibuted its limiting us.

Thats bring me to Coheremce.

But now, we dont have database as persistent store too. we have the archival processes as our persistent store. (90 days worth of data) Ok now multiply that with soem where around 2 GB * 90 (thats the bare minimum we want to keep).

Preliminary/Intermediate analysis of Coherence as a solution.

And a (supposedly) brilliant thought crossed my mind. Why not have this as persistant storage with my distributed cache. Does Oracle Coherence support that. I will get rid of archiving infrastructure too (i hate daemon archiving processes). For some starnge reasons, I dont wanna go to the DB to replace those flat files.

What say?, can Coherence be my savior? Any other stable alternate too.
(Coherence is imposed on me by big guys, FYI)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秉烛思 2024-09-05 14:10:05

您可以使用 Coherence 完成上述大部分操作。由于它主要是内存存储,因此您需要足够的物理 RAM 来存储 90*2Gb(但显然,并非所有这些都需要位于一台虚拟机或一台机器中。)Coherence 还具有持久性配置来保存和加载缓存来自磁盘的数据,但我不确定文件格式,可能是一些特定于 Coherence 的东西。

Coherence 的商业替代品是 Gemfire。它们具有非常相似的特征和大致相同的成熟度。当然,还有一个很好的开源产品,名为 Ehcache

You can do most of the above with Coherence. Since it's mainly an in-memory store, you will need enough physical RAM to store 90*2Gb (but not all of this needs to be in one VM, or one machine, obviously.) Coherence also has persistence configuration to save and load cache data from disk, but I am not sure of the file format, probably some Coherence-specific thing.

A commercial alternative to Coherence is Gemfire. They have very similar features and about the same level of maturity. There is also, of course, a good open-source product called Ehcache.

月下伊人醉 2024-09-05 14:10:05

尝试 Hazelcast

Hazelcast (http://www.hazelcast.com) 是一个面向 Java 的开源、事务性、分布式缓存解决方案。

Hazelcast 实际上不仅仅是一个分布式缓存;它是Java的队列、主题、映射、多重映射、锁、执行器服务的分布式实现。

此处了解有关 100 节点 Hazelcast 集群的信息。

Try Hazelcast!

Hazelcast (http://www.hazelcast.com) is an open source, transactional, distributed caching solution for Java.

Hazelcast is actually a little more than a distributed cache; it is distributed implementation of queue, topic, map, multimap, lock, executor service for Java.

Read about 100 node Hazelcast cluster here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文