标签: distributed-caching

在hazelcast 和Java 中以编程方式设置Near Cache 验证Near 缓存是否从本地缓存返回数据

我创建了一个 Hazelcast 设置,其中一个节点运行着 hazelcast 实例。我的客户端应用程序正在使用客户端配置从 Hazelcast 实例读取缓存。我想在我的客户端应用程序中实现 Near 缓存以将其用作本地缓存。你能给我一个例子,让我看看它是如何在java中使用的。我目前的代码是这样的

Hazel 铸造缓存节点

public class HazelCastNode1 {

    public static void main(String[] args) {
        Config cfg = new Config();
        HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
        Map<Integer, String> citiesMap = instance.getMap("Cities");

        for(int i = 0; i < 100000; i++){
            citiesMap.put(i, "Vienna"+i);
        }
        System.out.println("Map Size:" + citiesMap.size()); 
    }
}
Run Code Online (Sandbox Code Playgroud)

客户代码

public class ReadClient {
    public static void main(String[] args) {
        ClientConfig clientConfig = new ClientConfig();
        HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
        IMap<Integer, String> cumap = client.getMap("Cities");
        System.out.println(cumap.size());
    }  
} …
Run Code Online (Sandbox Code Playgroud)

java distributed-caching hazelcast

4
推荐指数
1
解决办法
4882
查看次数

使用Spring和Hibernate,Hazelcast与Ehcache + Hazelcast注释在service/dao层进行缓存?

我想评估Hazecast与Ehcache分布式缓存.

首先,如何将它们与具有标准dao/service层的Spring + Hibernate项目一起使用.Ehcache具有非常优雅且易于使用的注释,例如:

@Cacheable(cacheName = "test", keyGenerator = @KeyGenerator (
            name = "SpELCacheKeyGenerator", properties = @Property(value = "#key.string(#args[0])", name = "expression")))
Run Code Online (Sandbox Code Playgroud)

Hazelcast有什么类似的东西吗?我没有找到任何关于如何以实时/ dtos方式使用Hazelcast的信息.

spring hibernate ehcache distributed-caching hazelcast

3
推荐指数
1
解决办法
3506
查看次数

一致性哈希:环的数据结构保存在哪里

我们在一个环中有 N 个具有基本一致性散列的缓存节点。

问题:

  1. 这个环的数据结构是否存储:
    • 在每个节点上?
    • 部分在每个节点及其范围?
    • 在单独的机器上作为负载平衡器?

  2. 当其他节点加入时,环会发生什么?

非常感谢。

hashtable distributed-caching consistent-hashing

3
推荐指数
1
解决办法
1073
查看次数

为什么memcached不能跨节点同步

在 memcached 概述

它说:

Memcached servers are generally unaware of each other. There is no crosstalk, no syncronization, no broadcasting. The lack of interconnections means adding more servers will usually add more capacity as you expect. There might be exceptions to this rule, but they are exceptions and carefully regarded. 
Run Code Online (Sandbox Code Playgroud)

我在想它如何成为一个分布式系统,而不需要在集群中的节点之间进行同步?如果我从程序写入节点 1 上的缓存,并且下一个请求发送到节点 2,那么我正在从陈旧的缓存中读取数据。

memcached distributed-caching

3
推荐指数
1
解决办法
6238
查看次数

Hazelcast 分布式缓存如何比调用 DB 更快?

假设我有 2 台使用 Hazelcasts 分布式缓存的服务器。如果在服务器 #1 上,我将 2 个项目存储在该分布式缓存中的地图中。其中一个将保存在本地备份中,另一个将存储在其他服务器 Hazelcast 实例的备份中(如果不正确,请纠正我)。

我的问题是,如果我尝试从缓存中检索第二个项目(存储在服务器 #2 的备份中),将进行 TCP 调用来检索该数据。这比调用数据库快多少?

caching distributed-caching hazelcast

3
推荐指数
1
解决办法
3176
查看次数

使用Redis,MongoDB,ServiceStack进行.NET会话状态缓存

我一直在研究是否可以在外部Dbs(如Redis,MongoDb或其他高度可扩展的工具)中缓存.NET会话状态.

我的研究结果是,尽管MongoDB有更多的集成来完成这类工作,但似乎Redis的性能要高得多,而且还有更多的选项(密钥过期,集合等)可供使用.

还有另一个名为ServiceStack的框架,它有一个RedisClient的实现,但是恕我直言的实现方式比我想要的更加耦合.

 public override object OnGet(CachedOrders request)
    {
        var cacheKey = "some_unique_key_for_order";
        return base.RequestContext.ToOptimizedResultUsingCache(this.CacheClient, cacheKey, () =>
            {
                    //This delegate will be executed if the cache doesn't have an item
                    //with the provided key

                //Return here your response DTO
                //It will be cached automatically
            });
    }
Run Code Online (Sandbox Code Playgroud)

所以在这项研究之后,我想知道您的意见,以及您是否在任何应用程序中实现了这种缓存.你能分享一下你的经历吗?

谢谢!

distributed-caching mongodb redis servicestack

2
推荐指数
1
解决办法
1892
查看次数

分布式缓存和性能Hadoop

我想让我对hadoop分布式缓存有所了解.我知道当我们将文件添加到分布式缓存时,文件会被加载到集群中每个节点的磁盘上.

那么如何将文件数据传输到集群中的所有节点.是通过网络吗?如果是这样,它会不会对网络造成压力?

我有以下想法,他们是否正确?

如果文件很大,不会有网络拥塞?

如果节点数量很大,即使文件大小适中,文件的复制和传输到所有节点,都不会导致网络拥塞和内存限制?

请帮助我理解这些概念.

谢谢!!!

java hadoop mapreduce distributed-caching

2
推荐指数
1
解决办法
1727
查看次数

评估AppFabric并有一些新手问题,例如为什么设置AppFabric需要数据库或xml?

我是AppFabric的新手,我正在为生产环境评估分布式缓存解决方案,而且我在使用Asp.net MVC和WebApi的微软商店,我们没有使用Windows Azure.

在我的本地计算机上设置AppFabric时,有一个创建数据库或使用xml的步骤,我想在这里理解这个概念.AppFabri是否依赖于数据源(db或xml文件)来保持?如果是这样,这不是一个潜在的瓶颈吗?

此外,现在正在其生产服务器上使用AppFabric的任何人都可以评论他们使用它的经验吗?任何陷阱或陷阱?

谢谢,真的很感激!

asp.net-mvc caching distributed-caching appfabric

2
推荐指数
1
解决办法
271
查看次数

Chronicle Map vs Redis vs Koloboke

我们有一个系统,在50个服务器上使用相同的数据集(键值对).此数据集的更新次数约为每小时1000次,必须在这50台服务器之间进行复制.我们有一个主系统接收这些更新,并负责将这些更新传播到其他服务器.目前,我们每小时以文件的形式将整个数据集(而不是增量更新)同步到所有服务器.然后将该数据加载到不可变的Koloboke映射中.每个服务器每秒处理大约25000个请求,每个请求对此映射执行30次查找.在这些服务器上接收的请求的平均响应延迟最大约为3毫秒,因此内存中的koloboke映射可以很好地维持这个响应时间.

但是,我们当前在服务器之间同步此数据的系统会导致问题:

1)大多数情况下,这些关键数据的同步在其中一台服务器上失败,导致收入损失

2)由于这些数据存储在内存中,因此它不是持久性的,我们需要在每次服务器重新启动时或每次每小时更新时重新加载这些数据,这会影响应用程序的启动时间.

为了提高效率,我在Koloboke库中探索了Redis,Chronicle Maps和Mutable地图.但是我遇到了所有这些问题的限制:

Redis:Redis支持复制和持久性.但是,在使用其基准测试实用程序时,我发现它可以支持的查找次数仅略高于我们的平均用例(0.8-1.1百万个请求,而不是75万,这是我们每秒的查找次数).此外,通过网络调用redis会损害我们3ms的平均响应时间.

Chronicle Maps:在进一步探索这个问题时,我发现Chronicle Maps支持复制,持久性并且每秒可以服务多达3000万个请求.起初看起来它似乎是一个不错的选择,但后来我发现它们不适用于多图,我们在应用程序中生成它们.此外,它们将数据存储在堆外,因此数据反序列化的成本会导致性能损失.

Koloboke:它的性能很好,可以满足我们的使用需求,但不支持复制和持久性.

我找不到任何支持我们所有用例的东西.我正在寻找这个社区的建议,这些建议可以帮助我们有效地构建这个系统,而不会对性能产生任何严重影 任何有关这方面的帮助将非常感谢!谢谢!

distributed-caching redis aerospike koloboke chronicle-map

2
推荐指数
1
解决办法
990
查看次数

关于Ringpop,在Uber中使用的应用程序层分片

https://ringpop.readthedocs.org/en/latest/

据我了解,可以在某些库例程中实现分片,并且应用程序仅与库链接。如果该库是RPC客户端,则可以从服务器端实时查询分片。因此,即使有一个新分区,它对应用程序也是透明的。

Ringpop是基于SWIM成员身份协议的应用程序层分片策略。我想知道应用程序层的主要优势是什么?

在系统层中分片又是另一面呢?

谢谢!

database distributed distributed-computing distributed-caching

1
推荐指数
1
解决办法
554
查看次数