问题标签 [near-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
711 浏览

java - Hazelcast NearCache 对性能没有预期的影响

我们有一个应用程序在 1 或 2 个节点上运行,具体取决于环境,并具有基于 Hazelcast 的共享缓存。

应用程序上的一个请求会在此缓存上触发大约 1000 个请求(所有缓存命中)。

在单节点配置中,这很好用。具体来说,每个请求需要不到 10 毫秒。

但是如果我们使用 2 个节点,每个缓存请求大约需要 20-200ms。我们认为这是因为 Hazelcast 从远程节点获取数据,这当然涉及网络流量。因此,我们将其配置为使用 NearCache,据我们了解,这应该会导致与单个本地缓存大致相同的访问速度。但它没有,它似乎根本对性能没有影响。

所以现在我想知道:

  • 如何检查 NearCache 配置是否真的有效?
  • 如何获得接近本地缓存的读取性能,但更新(异步)通信到/所有远程缓存,我认为我可以通过配置 NearCache 来获得?

我们使用以下配置初始化缓存:

0 投票
3 回答
274 浏览

configuration - 如何在没有显式客户端的情况下使用 Hazelcast 3.5 配置 NearCache

基于这个问题,我正在尝试切换到 Hibernate 的 3.5-EA 版本。

到目前为止,我有这样的配置:

但是现在setNearCacheConfig方法已经没有了。addNearCacheConfig上只存在一个ClientCacheConfig。但我没有ClientCacheConfig.

基本不知道放哪里NearCacheConfig

0 投票
0 回答
288 浏览

java - 访问嵌入式 Infinispan 服务器的 HotRod 客户端中的 Infinispan NearCache 异常 - 8.0.2 和 8.2.2

Java 程序嵌入了 HotRod Infinispan 服务器,远程 Java 应用程序可以使用 HotRod API 访问嵌入的缓存。(兼容模式设置为 true)。这完全可以正常工作,但是当在客户端启用 NearCache 时,在服务器上观察到以下异常并且缓存操作失败。

这是说明问题的示例服务器和客户端代码。

我尝试使用 8.0.2 和 8.2.2 版本的 Infinispan。如果我缺少任何配置,您能帮我理解吗?

谢谢你。


===============================异常=================== ==============

0 投票
2 回答
2617 浏览

java - 如何仅在hazelcast中的缓存附近刷新

我是 hazelcast 的新手,并将其用于共享缓存。

我们有两个使用共享缓存的节点。

现在,我们公开了一个 API,它将刷新一个节点上的共享缓存,但是,我们需要刷新每个节点上的近缓存。

如果我们想刷新共享缓存,我们将获取缓存,清除它并重新填充它。

但是,我不确定如何只刷新附近的缓存。

基本上,我想从 API 被命中的节点刷新共享缓存,因此它也会刷新该节点上的近缓存。并且只需要刷新其他节点的缓存附近。

有人可以让我知道我们是否只能在缓存附近刷新而不刷新完整的共享缓存以及如何通过示例来做到这一点?

在此先感谢您的帮助。

0 投票
1 回答
379 浏览

ignite - Apache Ignite Near Cache 总是错过

当使用近缓存时,一切都会正常工作,直到第二个客户端(可能是 visor)在缓存操作正在进行时尝试连接或断开集群。

在第二个客户端连接/断开连接后,原始客户端将始终错过近缓存,直到原始客户端重新启动。几乎就像集群通知客户他们的问题并保持集群作为事实的来源一样。

我们已经能够通过运行我们的测试并连接/断开与 visor 的连接来重现这一点。在断开连接期间,我们可以在原始客户端 IgniteTxManager$NodeFailureTimeoutObject 的日志中看到提到的超时。

以下是 org.apache.ignite.internal.processors 被抑制的日志片段。

[2017-10-09 14:26:52.148] 启动 - 9955 调试 [http-nio-8081-exec-8] --- CacheHelper:访问缓存 ng-security-service-ORG_SPEC_CACHE 的总时间* | 值 com.cache.model.PrefixCluster@78475a88: 0 毫秒 [2017-10-09 14:26:52.150] 启动 - 9955 调试 [disco-event-worker-#26%null%] --- GridDiscoveryManager: 守护程序节点离开拓扑:TcpDiscoveryNode [id=4cc6c321-d9cc-4149-a6ef-cba68877a269, addrs=[10.70.255.8, 127.0.0.1, 172.17.0.1], sockAddrs=[/172.17 .0.1:0, /127.0.0.1:0, / 10.70.255.8:0],discPort=0,order=57,intOrder=31,lastExchangeTime=1507577126368,loc=false,ver=2.1.0#20170720-sha1:a6ca5c8a,isClient=true] [2017-10-09 14 :26:52.150] 启动 - 9955 调试 [http-nio-8081-exec-8] --- OrgSpecCacheImpl: OrgSpec 缓存统计信息: OrgSpec ObjId: IgniteCacheProxy [delegate=GridNearCacheAdapter [], opCtx=null, restartFut=null] HitCount: 120, sampleClsName=org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap,pendingUndeploy=false,undeployed=false,usage=0] [2017-10-09 14:26:52.285] 启动 - 9955 调试[grid-timeout-worker-#15%null%] --- GridResourceProcessor:注入资源 [target=org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager$NodeFailureTimeoutObject$2@3f183e4] [2017-10-09 14:26:52.317] boot - 9955 DEBUG [http-nio-8081-exec-8] --- CacheHelper: 访问缓存 ng-security-service-ORG_SPEC_CACHE 的总时间 * | 值 com.cache.model.PrefixCluster@6954be5d:167 毫秒 [2017-10-09 14:26:52.319] 启动 - 9955 调试 [http-nio-8081-exec-8] --- OrgSpecCacheImpl:OrgSpec 缓存统计:OrgSpec ObjId: IgniteCacheProxy [delegate=GridNearCacheAdapter [], opCtx=null, restartFut=null] HitCount: 126, MissCount: 53,

我的问题是,这是预期的行为吗?我们能否让近端缓存不被绕过,或者至少在坏客户端断开连接后使用近端缓存重新建立。

0 投票
1 回答
394 浏览

infinispan - 了解 Rebalancing & Async 模式下的 Infinispan 行为

我是 Infinispan 的新手。即使在通过 Infinispan 用户指南和谷歌搜索之后,我也无法弄清楚 Infinispan 在以下情况下的行为:

1) 进行再平衡时是否锁定 HotRod 客户端读取?

2) Infinispan 在 REPL 模式下如何在 HotRod 客户端使用 async 和 nearCache 运行?(我发现如果 nearCache 被禁用,那么它可以获取数据,但不能使用 nearCache。它与 nearCache 更新有什么关系吗?)

服务器代码:

客户代码:

使用上面的代码,下面列出了场景和结果(所有运行都进行了多次,结果相同):

- 没有 nearCache 1 Key --> 得到了预期的值

- 使用 nearCache (LAZY/EAGER) 1 个键 --> null

- 在同一次运行中,两次相同的键使用 nearCache (LAZY/EAGER) --> null(第一次) - 预期值(下一次)

需要澄清:如果一个示例代码重新验证 HotRod 客户端在 DIST 模式下的负载平衡(RoundRobin)行为。(我能够成功地使用 REPL 模式检查它,并且它像它声称的那样工作)

0 投票
1 回答
1544 浏览

hazelcast - hazelcast - 读取备份数据与近缓存

在 IMap 配置中,有一个属性read-backup-data可以设置为 true,它使成员能够从备份副本中读取值(如果可用),以防密钥的所有者是其他成员。

http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Map/Backing_Up_Maps.html#page_Enabling+Backup+Reads

然后是 nearcache ,它将开始在本地缓存一些数据结构的结果。

http://docs.hazelcast.org/docs/latest-development/manual/html/Performance/Near_Cache/Hazelcast_Data_Structures_with_Near_Cache_Support.html

如果我们有两种集群设置:

  1. 2成员,并且async-backup-count对于地图是1,并且read-backup-datatrue
  2. 2成员,为此地图启用了近缓存

这两种方法会有区别吗?

第一次设置可能会使用更少的内存,并且不可配置。但是在读取性能方面呢?

0 投票
1 回答
267 浏览

caching - Apache Ignite NearCaches 与 CachMode

Apache Ignite 有两个概念,一个是NearCache,另一个是CacheMode枚举。

两个概念之间的主要区别是什么?

0 投票
1 回答
1406 浏览

java - Hazelcast Near Cache 不适用于简单示例

我目前正在使用 hazelcast 3.9版

我尝试了几种实现近缓存的方法,但似乎找不到正确的方法。下面我分享了我的代码,让我确切地知道我哪里出错了。

检查 NearCache 统计信息时得到的输出完全为 0。

HazelcastConfig.java 文件

Hazelcast 客户端的配置

我还尝试在 hazelcast-client.xml 文件中更改缓存名称。似乎没有任何效果

在 hazelcast 服务器端没有变化。

0 投票
1 回答
301 浏览

spring-boot - Hazelcast 确保成员上的近缓存预加载

我有一个用例,在使用它之前,我需要确保将数据加载到缓存附近。我使用 Hazelcast 作为缓存管理器提供程序。我确实以内存格式将数据存储在近缓存中OBJECT,并缓存本地条目。在应用程序启动时,我通过调用服务缓存方法来进行热缓存:

之后,我确实多次调用相同的方法,将数据加载到附近的缓存中。问题是,在我尝试使用方法数据时,有时未加载接近缓存。看起来 Near Cache 是异步加载的,并且我在第 4 步继续接收不是来自附近缓存的数据。所以我的问题是 - 有没有办法使 NearCache 预加载成为可能,或者确保在特定点 NearCache 被填充?即使这意味着在使用之前等待一段时间让它填充。添加Thread.sleep()对我有用,但这绝不是要走的路。Hazelcast 版本是3.11.4

任何帮助表示赞赏。