单个解析服务器中的多个应用程序

juc*_*ajl 6 push-notification parse-platform parse-server

我整个星期都在将我在parse.com上托管的应用程序迁移到解析服务器,设法使一切工作完美,唯一的问题是让它在单个硬件上运行多个应用程序,而不必为此分配服务器应用程序它有,它会变得昂贵.

我阅读了有关它的讨论,并在此基础上,遵循以下解决方案:

var app1 = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId1',
  masterKey: process.env.MASTER_KEY || 'myMasterKey1', //Add your master key here. Keep it secret!
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
  push: pushConfig,
  liveQuery: {
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
  }
});

var app2 = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/app2',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId2',
  masterKey: process.env.MASTER_KEY || 'myMasterKey2', //Add your master key here. Keep it secret!
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
  push: pushConfig,
  liveQuery: {
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
  }
});
// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey

var app = express();

// Serve static assets from the /public folder
app.use('/public', express.static(path.join(__dirname, '/public')));

// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, app1);
app.use(mountPath, app2);
Run Code Online (Sandbox Code Playgroud)

这可以工作,直到时间测试环境可以使用多个应用程序在同一硬件上发送推送,只需创建指向不同数据库的服务器解析的多个实例.

任何人都可以告诉我,如果生产中的应用程序出现问题吗?这将导致我将来出现问题?

有人支持这个解决方案吗?

谢谢!

Man*_*uel 3

从 v2.2.9 开始,Parse Server提供多应用程序支持。

每个应用程序都需要单独的实例(和安装路径)。否则,您可能会遇到有关云代码的复杂情况,因为核心不是为多应用程序支持而设计的,尽管它继承了 Parse.com 的一些遗产,例如appId朝着它迈出的一步的属性。

然而,由于它现在是一个开源项目,因此将来可能会提供多应用程序支持。

更新

根据wiki ,Parse 服务器 v2.2.18 仍然只支持每个实例一个应用程序:

Parse Server 仅支持单个应用程序实例。目前正在努力使 Parse Server 能够感知多应用程序。但是,如果您打算使用不同的数据存储运行许多不同的应用程序,则当前需要实例化单独的实例。

  • 经过一些研究时间,对代码进行了一些更改,并且 atualemente 正在运行 Parsi-server 的单个实例,并绑定了多个应用程序,我做了几次测试,一切似乎都按其应有的方式运行,我将继续测试并放置一些正在生产中的应用程序,看看它是否可以继续正常工作,没有任何问题。 (2认同)