[译]什么是 HTTP?

原文链接:https://www.pubnub.com/guides/http/

HTTP 概述

HTTP,即超文本传输协议,是互联网通信的基础。它在客户端-服务器模型上运行,其中前端客户端(例如网络浏览器)通过向服务器发送HTTP请求消息来发起请求,例如请求网页(例如搜索引擎)。然后,服务器使用包含所请求资源的 HTTP 响应消息进行响应,如果资源不可用,则使用错误消息进行响应。

HTTP 是一种无状态协议,这意味着每个请求都是独立的,与之前或将来的请求无关。这允许客户端和服务器之间进行有效的通信。

More »

[译]什么是 OAuth?

原文链接:https://www.pubnub.com/guides/oauth/

什么是 OAuth?

OAuth(开放授权)是一种开放标准授权框架,允许第三方应用程序访问用户数据,而无需用户共享其登录凭据。它为用户提供了一种安全且标准化的方式,将其在一个网站上的资源的访问权限授予另一个网站或应用程序,而无需暴露其密码。

简单来说,OAuth 充当最终用户和他们想要授予访问权限的应用程序之间的中间人。用户不会直接向 Web 应用程序提供用户名和密码,而是会被重定向到授权服务器(例如 Google、Facebook 或 Twitter),在那里他们可以安全地验证自己的身份。经过身份验证后,用户可以授予或拒绝对其想要使用的应用程序上的数据的访问权限。

More »

[译]什么是HTTP流式传输?

原文链接:https://www.pubnub.com/guides/http-streaming/

什么是 HTTP 流式传输?

HTTP 流,也称为基于 HTTP 的流或 HTTP 实时流,是一种用于通过 Internet 传送实时多媒体内容(例如音频或视频)的技术。该协议允许从服务器到客户端设备的连续数据传输,使用户能够消费媒体内容而无需完整的文件下载。

More »

[译]什么是Socket.IO?

原文链接:https://www.pubnub.com/guides/socket-io/

什么是Socket.IO?

Socket.IO是一个开源的跨平台库,它提供客户端和服务器之间基于事件的全双工双向通信。它基于 WebSocket 协议构建,提供附加功能,例如自动重新连接以及在无法使用 WebSocket时回退到HTTP 长轮询。

img

Socket.IO 客户端由客户端和服务器端库组成。虽然最初在服务器上支持NodeJS ,在客户端支持JavaScript,但现在它支持各种服务器和客户端技术,包括JavaPythonSwiftKotlin,它们都是官方代码库的一部分,由活跃社区贡献。

More »

[译]什么是长轮询?

原文链接:https://www.pubnub.com/guides/long-polling/

什么是长轮询?

长轮询用于实时 Web 应用程序,以实现客户端和 Web 服务器之间近乎即时的通信。它在实时更新至关重要的聊天和消息应用程序中特别有用。

在传统的HTTP通信中,客户端向服务器发送新请求并等待响应。这称为短轮询。然而,在实时场景中,短轮询可能效率不高,因为它需要频繁向服务器请求,导致不必要的网络开销和增加延迟。

More »

[译]如何通过 WebSocket 将 Kafka 消息流式传输到面向互联网的客户端

原文链接:https://ably.com/topic/websockets-kafka

Apache Kafka 是目前最强大的异步消息传递技术之一。 Kafka 由 Jay Kreps、Jun Rao 和 Neha Narkhede 等团队于 2010 年在 LinkedIn 设计,并于 2011 年初开源。如今,该工具被众多公司(包括科技巨头,例如 Slack、Airbnb 或 Netflix 使用)为其实时数据流管道提供支持。

More »

ThingsBoard的领域模型

ThingsBoard是一个开源的物联网平台,用于管理和监控物联网设备和数据。它提供了一个可扩展的架构,可以连接各种设备,并实时收集、处理和分析设备生成的数据。

领域模型

在ThingsBoard中,领域模型是一个关键概念,用于描述物联网系统中的物理实体、属性和行为。以下是ThingsBoard中的主要领域模型组件:

  1. 租户(Tenant):租户是ThingsBoard中的顶级组织单位。它代表了一个独立的实体,可以是一个用户、组织或公司。租户拥有和管理自己的设备、客户、规则和仪表板等资源。租户之间的数据和配置是相互隔离的,每个租户都有自己的独立环境。租户由系统管理员创建和管理。

  2. 租户配置(TenantProfile):用于定义租户级别的配置和属性。

  3. 客户(Customer):客户是租户下的子级实体,代表了物联网系统中的用户或组织。一个租户可以包含多个客户,每个客户都有自己的访问权限和角色。客户可以访问和监控租户下的设备和数据。客户可以有自己的设备、规则和仪表板等资源,但这些资源受到租户级别的限制。客户由租户管理员创建和管理。

  4. 用户(User):保存用户的基本信息

    1. 用户的角色(Authority):SYS_ADMIN、TENANT_ADMIN、CUSTOMER_USER、REFRESH_TOKEN、PRE_VERIFICATION_TOKEN
    2. 用户凭证(UserCredentials):保存用户的密码、激活用户 Token、重置密码 Token、密码使用历史
    3. 用户认证设置(UserAuthSettings):保存用户 2FA 认证设置
    4. 用户设置(UserSettings):保存用户的设置,包括:通用设置、通知、访问过的仪表盘等等
  5. 系统设置(AdminSettings):是用于配置和管理整个系统的全局设置和参数,包括:通用设置、邮件、JWT、连接设置等等。

    More »