与deepstream.io交互logging服务器端
我已经在deepstream.io
做了一些阅读,到目前为止我已经发现了以下内容:
-
所有logging都存储在同一个表中(默认为deepstream_records
) -
为了与这些数据进行交互, 可以使用客户端(浏览器)和服务器端(节点),但不应该在服务器端(节点)上使用客户端。
问题:
- 我应该如何与服务器端的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不会实际通知任何用户,以及打破一些逻辑用于合并处理…