问题标签 [distributed-caching]
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.
java - 常识题:网络访问时间、缓存访问时间、磁盘访问时间
我编写了一个基于客户端-服务器的分布式文件系统的模拟器。现在要计算平均块访问时间,我想要以下内容:
- 本地缓存访问时间
- 客户端到客户端缓存访问时间(同一网络)
- 客户端到服务器缓存访问时间(不同网络)
- 客户端到磁盘访问时间
假设块大小为 64MB...
谁能给我大概的时间...证明它的链接将不胜感激...
谢谢。
caching - Windows下少量数据的分布式和复制数据存储
我们正在寻找缓存问题的良好解决方案。我们希望在 Web 服务器集群中分配相对少量的数据(可能是 10 GB),这样:
- 数据复制到所有节点
- 数据是持久的
- 数据可以在本地访问
我们开发缓存解决方案的动机是我们目前有一个单点故障:SQL Server 数据库。很遗憾,我们无法为此数据库设置故障转移集群。我们已经在很大程度上使用了 Memcached,但我们希望避免出现这样的问题:如果 Memcached 节点出现故障,我们会突然出现大量缓存未命中,从而导致对一个端点的大量请求。
相反,我们希望在每个 Web 服务器节点上都有本地持久缓存,以便分配结果负载。当进行检索时,它将通过以下方式:
- 检查 Memcached 中的数据。如果它不在那里...
- 检查本地持久存储中的数据。如果它不在那里...
- 从数据库中检索数据。
当数据发生变化时,缓存键在两个缓存层都失效。
我们一直在寻找一堆潜在的解决方案,但似乎没有一个完全符合我们的需求:
沙发数据库
这非常接近;我们要缓存的数据模型是非常面向文档的。然而,它的复制模型并不是我们想要的。在我看来,复制似乎是您必须执行的操作,而不是节点之间的永久关系。您可以设置连续复制,但这不会在重新启动之间持续存在。
卡桑德拉
这个解决方案似乎主要面向那些有大量存储需求的人。我们有大量的用户,但数据量很少。Cassandra 看起来能够支持n个故障转移节点,但节点之间的 100% 复制似乎并不是它的本意;相反,它似乎更倾向于仅分发。
SAN
一个吸引人的想法是我们可以在 SAN 或类似类型的设备上存储一堆文件。我以前没有使用过这些,但似乎这仍然是单点故障;如果 SAN 出现故障,我们会突然去数据库查找所有缓存未命中。
DFS 复制
一个简单的谷歌搜索揭示了这一点。它似乎做我们想做的事;它在复制集群中的所有节点之间同步文件。但营销文本使它看起来更像是一个确保将文档复制到不同办公地点的系统。此外,它还有一些限制,例如文件数上限,这对我们来说效果不佳。
你们中是否有人有与我们类似的要求并找到了满足您需求的良好解决方案?
java - Ehcache Distributed RMI Transfers list of JARs under WEB-INF/lib on each sync
我已经设置了一个使用 Hibernate 2nd 的 Web 应用程序。使用http://ehcache.org/documentation/distributed_caching_with_rmi.html中的说明对缓存和 Ehcache 进行级别缓存。
Web 应用程序使用 Automatic Peer Discovery 部署在不同网络节点中的两个不同 Tomcat 实例中。两个 Tomcat 都部署了完全相同的 WAR。
尽管 WEB-INF/lib 和 WEB-INF/classes 文件夹是相同的,而且我缓存的实体类有一个 serialVersionUID 字段,但我必须重写 Tomcat security.policy 并启用安全管理器以进行远程类加载。
分布式缓存似乎工作正常,但是,在每个同步事件上,我通过使用 ngrep 嗅探看到三到四个具有这种格式的消息
这些框架更长,基本上列出了我的 WAR WEB-INF/lib 中的每个 JAR 文件。这在我的网络中浪费了大量带宽。
任何人都可以阐明我可能做错了什么吗?因为两个 Web 应用程序都可以访问相同的类,所以我真的看不出需要加载远程类,但是没有它我无法让它工作。即使两者都有相同的 JAR 和相同的序列版本字段。我尝试设置 java.rmi.codebase 属性,但我不确定我应该将其设置为什么值,因为我读过的大多数示例都与 Applets 和浏览器内 JVM 有关。
一个合理的解决方法是摆脱那些烦人的 JAR 文件列表,这些文件使缓存集群中的每条同步事件消息都膨胀。
提前致谢,
YJ
caching - 如何使 websphere 中的缓存条目不过期
我在 web 领域创建了一个缓存,它将由多个应用程序共享,我想在创建的缓存中创建一个条目以不过期。我怎样才能做到?
谢谢并恭祝安康,
晴天。
erlang - erlang:分布式哈希表?
Erlang 中是否有任何分布式哈希表实现?我在网上搜索并找到了一些研究论文,但我没有找到成熟的实现。
asp.net-mvc - 在多服务器环境中使用 Syscache 作为 nhibernate 2 级缓存是否有任何问题?
我刚刚从单个 Web 服务器环境迁移到多 Web 服务器环境,过去我一直在使用 nhibernate 和 syscache 二级缓存。
我知道我需要迁移到分布式 nhibernate 二级缓存解决方案(memcache、velocity 等)但是(出于多种原因),它需要一些时间来完成迁移。
我目前的状态(目前在多网络服务器环境中使用 Syscache 2 级缓存)有什么特别需要担心的,还是它不会像分布式解决方案那样高性能(假设我基本上会有每个网络服务器上的本地并行缓存与跨服务器的集中式缓存)。
我基本上是想弄清楚这个设置是否有任何问题,或者它没有尽可能快。
sql-server - 分布式二级缓存与专注于调优数据库的优缺点是什么
我们有一个使用休眠和二级缓存的网站。我们正在进行一场辩论,因为当我们迁移到多网络服务器环境(前面有一个负载平衡器)时,有人想要关闭二级缓存。
一个论点是摆脱二级缓存并专注于优化和调整 Db。另一个论点是推出分布式缓存作为二级缓存。
我很想听听人们对 DB 调优与分布式缓存的赞成和反对(考虑到所涉及的工作量、成本、复杂性等)
azure - Azure 缓存错误代码:子状态超过这一小时的配额限制
我正在开发一个托管在 Windows Azure 中的 MVC 3 站点,该站点配置为使用 DistributedCacheSessionStateStoreProvider 来获取会话状态,而会话状态又在内部使用 Azure 缓存。缓存配置为:
会话提供程序配置为
自 4 月以来,我们已经将其部署到位,但最近才开始使用会话来存储更多数据。我们的测试缓存服务为 128 MB,据说允许 5 个并发连接。根据 Azure 管理控制台,我们在任何给定时间使用此服务的最大容量为 0.34 MB。
在我们的日志中,我们经常看到这个异常出现:
错误代码:子状态:暂时失败。请稍后重试。(请求失败,因为您超出了这一小时的配额限制。如果您经常遇到这种情况,请将您的订阅升级到更高的订阅)。附加信息:由于资源限制:连接
根据我读过的文档,默认情况下,数据缓存客户端的最大连接数设置为 1。我在两个实例上运行,我假设这意味着我总共使用了两个连接。
请帮助我了解我做错了什么以及我可以做些什么来解决这个问题。
caching - 使用 Fluent NHibernate 的 Ms-Velocity
我在我的项目中使用流利的 nHibernate,现在我想用流利的 nHibernate 应用 ms 速度,有没有人使用流利的 nHibernate 的速度?如果是,那么如何开始使用这个东西?
我有关于这个的谷歌,但没有找到任何好东西..
有人有配置样本吗?
更新: 对于流利的配置,我做了:
但得到这个例外:
无法从程序集“ClientLibrary,Version=1.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”加载类型“System.Data.Caching.CacheFactory”。
我做错了什么?
谢谢
java - Gemfire 区域同步
我正在使用 gemfire,目前有一个客户端和一个服务器。现在,服务器动态地在一个区域中创建一些子区域并将一些对象放在那里。我正在尝试使用客户端检索对象,但看不到对象或子区域。如何同步区域?还有什么我可以做的吗?