deepstream.io - 什么是Deepstream.io

标签 deepstream.io

我一直在阅读有关Deepstream的信息,对于实时应用程序来说,这似乎是一个很棒的解决方案。但是,我对Deepstream的实际角色感到困惑。

核心功能(数据同步,记录,身份验证,权限,事件,rpc等)的文档确实写得很好,但它是低级的。我认为,通过深度移植应该使用的Deepstream缺失了。

我的问题是:

  • Deepstream是适用于任何基于实时的应用程序的成熟/独立后端框架吗?
  • 还是Deepstream是一个服务器平台,用于从微服务(和/或主要应用程序层)到客户端的定向(身份验证,路由,缓存,负载平衡)通信?
  • 还是完全不同?

  • 希望您能对开发人员应如何区分Deepstream以及如何将Deepstream整合到我们的应用程序中的任何方向进行详细说明。

    谢谢。

    最佳答案

    Deepstream是一台独立服务器,其安装方式例如Nginx或任何数据库。大多数Linux发行版以及Windows和MacOS可执行文件都可以通过yum/apt获得。

    深度服务器通过TCP和WebSocket接受客户端连接。客户端可以通过目前完全可用于JS/Node和Java/Android且部分/很快可用于IO(Obj C/Swift),Python和.NET的SDK连接到它。

    深度流提供了三个核心概念:

  • 数据同步:有状态和持久性的JSON对象,可以全部或部分操作并在所有对象之间进行同步
    连接的客户端
  • 发布订阅:基于对主题
  • 的订阅的多对多消息传递
  • 请求-响应:问题/应答工作流

  • 服务器本身是可配置的,并使用权限文件来验证传入的消息,但除此之外没有其他逻辑。所有逻辑均由“客户端”提供,“客户端”可以是后端流程,也可以是最终用户。 Deepstream提供了许多功能,例如监听和事件订阅,以 Hook 用户所请求的内容并相应地提供/转换数据,以及集成和检索来自第三方组件或API的数据。

    这使得Deepstream既可以用作移动/浏览器和台式机客户端的实时服务器,又可以用作微服务架构的 Backbone

    Deepstream可以选择与三种类型的系统集成:
  • 数据库可用于长期数据存储和查询
  • 缓存可用于快速短期数据访问
  • 消息总线可用于多个深度流节点以彼此通信

  • 连接器可用于许多流行的系统,例如RethinkDB,MongoDB,Redis,AMQP,Kafka或ElasticSearch,也可以很容易地自己编写。该动画旨在给人以深刻的印象,即深度流如何与其他系统交互

    如果未指定外部系统,则Deepstream将作为单个节点运行并将数据存储在内部存储器中,但不会将其持久化到磁盘上。

    关于deepstream.io - 什么是Deepstream.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639641/

    相关文章:

    javascript - 使用 deepstream.io 进行实时投票

    deepstream.io - 在 record.set 之后调用 record.whenReady 有意义吗?

    javascript - 在 DeepstreamIO 中创建动态命名记录

    javascript - 深流不工作

    javascript - 我必须在客户端创建记录吗?

    javascript - 如何退出 deepstream.io?

    node.js - Deepstream.io - 客户端断开连接时服务器回调?

    node.js - SPA 与 Deepstream.io 用于登录页面的 HTTP 身份验证

    redis - deepstream.io redis 和 rethink 还没有准备好

    javascript - Deepstream 是否会跟踪 RethinkDB 中的整个文档?