如何部署可扩展的Parse LiveQuery Server?

时间:2017-05-23 19:49:49

标签: javascript parse-platform server parse-server scalable

最近,我们开始为我们的应用开发聊天功能,因为我们已经在使用Parse SDK / Server,所以我们决定使用Parse LiveQuery ...

问题是,关于如何在单独的服务器上部署Parse LiveQuery服务器的文档还不够充分!我们看到了这一点:http://docs.parseplatform.org/parse-server/guide/#scalability但我们并没有真正弄清楚如何继续...

所以我们有几个问题:

为了创建可扩展的Parse LiveQuery Server,我们需要做什么? (最好是在Digital Ocean / Heroku上)

如何与我们的原始Parse Server进行通信,我们的MongoDB存储在哪里?

2 个答案:

答案 0 :(得分:1)

在你的解析服务器B中给你数据库的databaseUri A:var api = new ParseServer({databaseURI:' mongodb:// myMogoURL',

答案 1 :(得分:1)

这是我们在Heroku上设置可扩展Parse LiveQuery服务器的方法 因为在Heroku上只有一个“网络”进程,它将分为两个Heroku应用程序:Main和LiveQuery。

答:主应用 - 除LiveQuery服务器之外的所有功能

步骤A1。在Heroku上设置Parse应用程序

步骤A2。添加Heroku Redis(免费计划足以进行测试)

步骤A3。配置Parse app,为liveQuery添加redisURL

var api = new ParseServer({
  ...
  liveQuery: {
    classNames: [...],
    redisURL: REDIS_URL_ON_MAIN
  },
  ...
});

B:LiveQuery应用 - 适用于主应用的可扩展LiveQuery服务器

步骤B1。在Heroku上升级另一个Parse应用程序

步骤B2。配置Parse app,不要设置liveQuery

var api = new ParseServer({
  appId: APP_ID_ON_LIVEQUERY,
  masterKey: MASTER_KEY_ON_LIVEQUERY,
  serverURL: SERVER_URL_ON_LIVEQUERY,
  databaseURI: // (Optional) Only warning even if leave it default
});

步骤B3。创建LiveQuery服务器

var app = express();
app.use(PARSE_MOUNT_ON_LIVEQUERY, api);

var httpServer = require('http').createServer(app);
httpServer.listen(PORT_ON_LIVEQUERY, function() {
  /* Create HTTP server successfully */
});

ParseServer.createLiveQueryServer(httpServer, {
  redisURL: REDIS_URL_ON_MAIN // Redis URL from Mani app
});

C:客户端 - 例如Swift

步骤C1。使用

的Init Client实例
Client(server:applicationId:clientKey:)

let client = Client(server: SERVER_URL_ON_LIVEQUERY, 
                    applicationId: APP_ID_ON_LIVEQUERY, 
                    clientKey: nil)

步骤C2。订阅LiveQuery

let subscription = client.subscribe(query)
subscription.handle(Event.created, { query, object in
  /* Handle CREATE event */
})

最后,我们可以在Heroku ^ _ ^

上的LiveQuery应用程序中扩展Web流程

欢迎对glist

发表评论