ThingsBoaed、系统模块层级讲解

系统管理员能够使用租户配置文件为多个租户配置通用设置。每个租户在单个时间点都拥有唯一的个人资料。

让我们一一查看租户配置文件中的可用设置。

配置文件配置

这些设置允许系统管理员配置对租户创建的实体数量的限制,设置每月最大消息数、API 调用数的限制,配置平台应为特定设备(设备)处理的最大请求数。 -级别)或属于单个租户(租户级别)的所有设备等。

下面让我们更多地考虑这些设置

实体限制

这组设置允许系统管理员配置每个租户能够创建的最大实体数

ThingsBoard 社区版支持以下实体的限制:设备、仪表板、资产、用户、客户和规则链

ThingsBoard 专业版支持对上面列出的所有内容的限制,以及对以下实体的附加约束支持:集成、转换器和调度程序事件。

API 限制和使用

这组设置允许系统管理员配置每个租户每月想要执行的最大消息数、API 调用等。 ThingsBoard 不断收集和分析有关 API 使用情况的统计数据。统计数据的典型更新间隔为1分钟

ThingsBoard 跟踪六个主要组件的 API 使用情况:传输、规则引擎、JS 函数、遥测持久性、电子邮件和 SMS 服务。如果相关 API 限制之一达到阈值,平台将禁用该组件。例如,如果租户设备每月产生超过 100M 消息,平台将禁用属于该租户的设备的所有连接。当 API 使用被禁用或达到特定阈值(通常为 80%)时,ThingsBoard 将通过电子邮件通知租户管理员。

让我们分别回顾一下每个限制:

规则引擎执行是指属于当前租户的规则节点的任何执行。处理单个遥测消息可能会导致多个规则引擎执行。平台还会统计Generator节点等产生的周期性消息。

传输消息是指您的设备发送到服务器的任何消息。这可能是遥测、属性更新、RPC 调用等。

传输数据点是指遥测或属性消息包含的许多键值对。例如,下面列出的消息包含 5 个数据点,因为“jsonKey”对应 1 个数据点。

{
 "stringKey":"value1", 
 "booleanKey":true, 
 "doubleKey":42.0, 
 "longKey":73, 
 "jsonKey": {
    "someNumber": 42,
    "someArray": [1,2,3],
    "someNestedObject": {"key": "value"}
 }
}

avaScript 执行是指租户管理员定义的自定义函数的任何执行。例如,“脚本”过滤器或转换节点的处理、数据转换器的调用等。

数据点存储天数是针对数据库中存储的所有时间序列数据点计算的。平台将数据点的数量乘以这些数据点的存储天数。 TTL参数用于提取存储数据的天数。例如,如果您存储 3 个数据点 30 天,则为 90 个存储数据点天。系统管理员可以使用租户配置文件中的“默认存储 TTL 天”参数来配置默认 TTL。租户管理员可以使用“ Save Timeseries ”ule 节点配置或使用后遥测请求中的“TTL”参数来覆盖默认 TTL。

警报 TTL表示警报在数据库中存储的天数。

发送的告警数是指一段时间内(默认1个月)创建的告警总数。

发送的电子邮件数是指使用系统 SMTP 提供程序(设置)从规则引擎发送的电子邮件数。请注意,租户管理员可以在平台的社区版和专业版中定义自定义 SMTP 设置。使用自定义 SMTP 设置发送的电子邮件不会影响 API 限制。

发送的短信是指使用系统短信提供商从规则引擎发送的短信数量。请注意,租户管理员可以在平台的社区版和专业版中定义自定义短信提供商设置。使用自定义 SMTP 设置发送的短信不会影响 API 限制。

API 使用仪表板

作为租户管理员,您可以查看 API 使用情况仪表板。下面的仪表板允许租户管理员详细了解其每小时/每天/每月的 API 使用情况,并立即查看 API 限制的状态。

文件限制

系统管理员可以配置单个文件的最大大小、“图库”中的图片文件和“资源库”中的资源文件的最大总大小以及平台允许的OTA包文件的最大总大小可以存储在数据库中。

值以字节为单位指定。

速率限制

这组设置允许系统管理员配置平台应为特定设备(设备级)或属于单个租户(租户级)的所有设备处理的最大请求数。速率限制的实现是基于令牌桶算法的。

速率限制定义由值和时间间隔组成。例如,“1000:60”表示“每 60 秒不超过 1000 条消息”。您可以使用“,”定义多个间隔。例如,“100:1,1000:60”表示“每秒突发 100 条消息,但每 60 秒不超过 1000 次”。

在隔离的 ThingsBoard 规则引擎队列中进行处理

ThingsBoard 规则引擎是集群中的主要“工作者”,负责处理传入的消息。

默认情况下,所有消息(例如遥测、连接和生命周期事件)都会推送到同一消息队列/主题(由 Kafka、RabbitMQ、AWS SQS、Azure 服务总线、Google Pub/Sub 提供支持)。当隔离处理被禁用(默认)时,ThingsBoard 会将所有租户的消息推送到公共队列。

当您选择为特定租户隔离处理时,ThingsBoard 会将消息推送到单独的队列。这为这些租户提供了更好的隔离级别。您需要创建启用“使用独立的 ThingsBoard 规则引擎队列”框的租户配置文件并分配给特定租户,或更新现有租户配置文件。这将指示规则引擎订阅包含相应租户数据的特定消息队列主题。

您还可以设置一个单独的规则引擎实例,该实例仅负责特定租户配置文件的租户。

隔离租户的队列配置

步骤 1. 打开租户配置文件菜单并添加新的租户配置文件。单击“隔离的ThingsBoard RuleEngine”框,默认添加主队列,并且无法重命名或删除。

 步骤2.如果需要添加新的自定义队列,请单击“添加队列”。

步骤 3. 配置提交和处理设置。

步骤 4. 现在租户配置文件已准备好分配给特定租户。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/518940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java集合详解(一)-- List集合

1.集合简介 java集合可分为Set、List、Queue和Map四种体系。 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数…

02-JDK新特性-try-with-resources自动管理资源关闭

try-with-resources 为什么要介绍这个了 看看一下以下代码: public static void fileCopyByTryWithResources(File src, File des) throws IOException {try (FileInputStream fis new FileInputStream(src); FileOutputStream fos new FileOutputStream(des);…

SecureCRT防止超时自动断开

Options——>Session Options——>Terminal——>选择 Send protocol NO-OP ——>60seconds(每一分钟发送一次请求)

【考研数学】《1800》《660》还是《880》?怎么刷效果最好?

刷题吃不透,做了再多也没用! 你目前连1800都没法拿下,你还着急要做660和880,是认真的吗? 这《接力题典1800》有啥特色呢?知识点全面覆盖,题目中规中矩,配合汤老师的视频看效果更佳…

【二分查找】Leetcode 二分查找

题目解析 二分查找在数组有序可以使用,也可以在数组无序的时候使用(只要数组中的一些规律适用于二分即可) 704. 二分查找 算法讲解 当left > right的时候,我们循环结束,但是当left和right缩成一个点的时候&#x…

【Java SE】继承与组合

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 再谈初始化2. 再谈protected关键字2.1 子类可见性2.2 访问修饰限定符的选择 3. 继承与组合 1. 再谈初始化…

Python实现获取某手视频评论【自动生成did】

今天在获取某手视频评论的时候,总是会出发风控导致web_did失效,就算登录了也没用,还会导致账号被风控,app端抓包和逆向难度又大,那么有没有一种不需要登录而且不会出发风控的方法来获取评论列表呢?当然有&a…

Python球球大作战

文章目录 写在前面球球大作战程序设计注意事项写在后面 写在前面 安装pygame的命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame球球大作战 《球球大作战》是一款简单易上手、充满趣味性和竞技性的休闲手游。游戏的核心玩法可以用一句话概…

机器学习 | 基于Scikit-learn中手写数字集的交叉验证

在本文中,我们将讨论交叉验证及其在手写数字集上的使用。此外,我们将看到使用手写数字集的代码实现。 什么是交叉验证? 手写数字集的交叉验证将允许我们选择最佳参数,避免过度拟合训练数据集。它是一个试验的尝试程序&#xff0…

【Python】Tkinter模块(巨详细)

专栏文章索引:Python 有问题可私聊:QQ:3375119339 目录 一、窗口设计 1.创建窗口 2.窗口属性 3.窗口位置 4.Widget 一、窗口设计 1.创建窗口 实例-创建空白窗口: from tkinter import * # 导入tkinter模块win Tk() # 通…

算法(二分查找)

我们有三种方式可以使用二分查找 1.朴素的二分查找,这种方式可能存在局限性 2.查找左边界的二分查找 3.查找右边界的二分查找 1.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums…

JVM调优参数介绍

堆配置 -Xms:初始堆大小 -Xms:最大堆大小 -XX:NewSizen:设置年轻代大小 -XX:NewRation:设置年轻代和年老代的比值。如:为3表示年轻代和年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRation:年轻代中Eden区与…

英语学习笔记-元音

元音 什么是元音呢?简单来说就是,在发音时,气流非常通畅,没有阻碍,想发多大声都可以。 元音分为: 单元音双元音 总共有20个元音 如何发音 根据上图,发音可以分为两类: 黑色部分…

链式二叉树经典OJ题目(二)

目录 结构体及头文件: 1.二叉树的前序遍历 题目描述: 思路分析: 源码: 2.二叉树的翻转 题目描述: 思路分析: 源码: 3.另一颗子树 题目描述: 思路分析: 源码&…

00-JAVA基础-动态编译

动态编译 JAVA 6 引入了动态编译机制。Java 动态编译是指在运行时将Java源代码编译成可执行的字节码。这通常使用Java的内置编译器API javax.tools.JavaCompiler 来实现。 动态编译的应用场景 可以做一个浏览器编写java代码,上传服务器编译和运行的在线测评系统服…

我为什么会选择Vim来开发Go项目及Vim IDE安装配置和操作

你好,我是孔令飞,字节跳动云原生资深研发、前腾讯云原生技术专家。《企业级 Go 项目开发实战》、《从零开发企业级 Go 应用》作者,欢迎加入 孔令飞的云原生实战营,助你进阶 Go 云原生高级开发工程师。 作为一名 Golang 开发&…

我的需求分析方法论

或网上看了无数博客文章、技术视频,或购买金装版本技术书籍,看过无数原理原则、各种各样经典方法论,真正在实际开发工作中,本能去遵守和执行的又留下多少呢。 启动一个新系统时,我们可能还会去花些时间遵循这些原理原则…

前端学习之DOM编程-docmument对象、操作DOM对像内容、操作DOM对象属性方式、操作DOM对象的样式

docmument对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>document对象</title> </head> <body><div id"container" nameparent><ul name"parent&qu…

k8s CNI Calico 网络模式总结

目录 calico架构图 IPIP模式下的架构图 calico 核心组件 Overlay 网络模式&#xff1a; Pod IP对外暴露 不对外暴露&#xff1a; 实现对外暴露的方法&#xff1a; overlay模式下的网络MTU Iptables & ipvs overlay的主要缺点&#xff1a; Full-mesh Unoverla…

DXP学习003-PCB编辑器的环境参数及电路板参数相关设置

目录 一&#xff0c;dxp的pcb编辑器环境 1&#xff0c;创建新的PCB设计文档 2&#xff0c;PCB编辑器界面 1&#xff09;布线工具栏 2&#xff09;公用工具栏 3&#xff09;层标签栏 ​☀ 3&#xff0c;PCB设计面板 1&#xff09;打开pcb设计面板 4&#xff0c;PCB观察…