代码之家  ›  专栏  ›  技术社区  ›  coolk

在Cassandra上使用hazel cast有什么好处吗

  •  1
  • coolk  · 技术社区  · 8 年前

    我想为我的web应用程序实现会话存储。这是我的申请档案。

    1. 与会话相关的信息变化不大,但
    2. 会话读取(Session.getAttribute())比写入(Session.setAttribute())更频繁。
    3. 与会话相关的数据很小,但会话的数量可能很大。
    4. 我同意最终的一致性。
    5. 我只是在寻找开源解决方案,这些解决方案不会产生上述功能的许可成本。
    6. 目前,我想存储多达10000个会话,每个会话(平均)有10kb的数据,但最终我想扩展到100000个会话或更多!

    在我的应用程序中,hazelcast已经被用于其他一些功能。但我不希望这成为决定因素。卡桑德拉似乎满足了我所有的要求,它似乎很受欢迎。我有什么理由选择hazelcast而不是cassandra?

    2 回复  |  直到 7 年前
        1
  •  10
  •   noctarius    8 年前

    免责声明:Hazelcast员工

    我们有很多人把它们当作伙伴,这意味着Cassandra是存储层,Hazelcast是缓存层,然而Cassandra不是缓存,Hazelcast也不是数据库。

    如果您想将存储持久化到磁盘,请使用Cassandra(可能使用Hazelcast添加缓存),如果您只想分发,请使用Hazelcast。后一种情况下,尤其是如果您(出于某种原因)重新启动集群时偶尔会失去会话,那么“其实并不重要”。

        2
  •  6
  •   Mikhail Baksheev    8 年前

    我们在项目中使用这两种方法。我们使用Cassandra作为持久存储,并对临时和频繁更改的数据(例如分布式队列和同步原语)使用Hazelcast。