与deepstream.io交互logging服务器端

我已经在deepstream.io做了一些阅读,到目前为止我已经发现了以下内容:

  1. 所有logging都存储在同一个表中(默认为deepstream_records

  2. 为了与这些数据进行交互, 可以使用客户端(浏览器)和服务器端(节点),但应该在服务器端(节点)上使用客户端。

问题:

  • 我应该如何与服务器端的logging进行交互?
  • 有什么阻止我改变数据库中的logging吗?
    • 会更改数据库更新客户端订阅中的logging吗?
    • 这会被认为是不好的做法?
  • 为什么所有logging都存储在同一个表中?

来自RethinkDB的数据示例:

 { "_d": { }, "_v": 0, "ds_id": "users/" }, { "_d": { }, "_v": 0, "ds_id": "users/admin" } 

为什么所有logging都存储在同一个表中?

 server.set( 'storage', new RethinkDBStorageConnector( { port: 5672, host: 'localhost' , /* (Optional) A character that's used as part of the * record names to split it into a tabel and an id part, eg * * books/dream-of-the-red-chamber * * would create a table called 'books' and store the record under the name * 'dream-of-the-red-chamber' */ splitChar: '/' })); server.start(); 

你有没有提到splitChar? (它不是默认的)

我应该如何与服务器端的logging进行交互?

要与这些数据进行交互,您需要创build一个使用tcp(默认端口6021)连接到您的服务器的节点客户端。 服务器本身是一个非常有效的消息代理,它可以低延迟地分发消息,我们的build议是不包含任何非必要的自定义代码,即使在使用权限和数据转换时也是如此。 https://deepstream.io/tutorials/core/transforming-data

您可以在教程中的FX提供程序示例中看到这一点:

https://deepstream.io/tutorials/core/active-data-providers

坦克游戏教程示例:

https://github.com/deepstreamIO/ds-tutorial-tanks

有什么阻止我改变数据库中的logging吗?

深度stream通过实际完成对caching的所有写入/读取来维持其低延迟。 写入数据库发生次要的是为了不引入命中。 因为这个直接改变logging不会实际通知任何用户,以及打破一些逻辑用于合并处理…