首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Xodus共享/挂载块存储

使用Xodus共享/挂载块存储
EN

Stack Overflow用户
提问于 2019-11-09 02:43:24
回答 1查看 52关注 0票数 0

使用挂载块存储作为Xodus数据库路径安全吗?其想法是在几个不同的主机上运行使用Xodus的应用程序。因此,每个基于Xodus的应用程序都指向相同的挂载路径(例如/mnt/xodus)。

在这种情况下,每个应用程序都会打开Xodus环境,如下所示。如果我们像这样打开环境:

代码语言:javascript
复制
  @Override
  public Environment getEnvironment(String xodusRoot, String instance) {
    Environment environment = environmentMap.get(xodusRoot + instance);
    if (environment == null) {
      EnvironmentConfig config = new EnvironmentConfig();
      config.setLogCacheShared(false);
      Environment env = Environments.newInstance(xodusRoot + instance, config);
      environmentMap.put(xodusRoot + instance, env);
    }
    Environment e = environmentMap.get(xodusRoot + instance);
    return e;
  }

多个Xodus实例指向挂载路径是否安全?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 15:56:48

这取决于您所使用的特定块存储。例如,Xodus在Amazon上运行得很好,但是EBS不允许共享数据库文件。如果块存储是可共享的,那么任何打开的环境都将被锁定,因此您必须在主机之间以某种方式“分割”环境路径,以防止开放冲突。很可能,人们可以尝试在read-only listening mode中打开环境,但是只有当块存储能够产生合适的文件系统事件时,它才能工作。

此外,如果在单个JVM中使用多个环境,则设置config.setLogCacheShared(false)将导致OOME。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58775963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档